天天看點

08 | 異常處理:如何提高程式的穩定性?

目錄

1.錯誤與異常

2.如何處理異常

3.異常使用場景與注意點

4.總結

1.錯誤與異常

python中的錯誤和異常是什麼?兩者之間的聯系與差別

  • 程式中錯誤至少包括兩種,一種是文法錯誤,另一種則是異常
  • 文法錯誤是代碼不符合程式設計規範,無法被識别與執行
  • if 語句漏了冒号,會報錯invalid syntax。若文法完全正确,很顯然,分母不為0;也不能使用未定義的變量做運算;而讓一個整型和一個清單相加也是不可取的。

2.如何處理異常

異常處理,通常用try和except來解決。

  • 由于程式抛出的異常類型是ValueError和except block所catch的異常類型相比對,是以except block便會被執行。
  • except block隻接受與它相比對的異常類型并執行,如果程式抛出的異常并不比對,那麼程式照樣會終止并退出。
  • 可以在xecept後面省略異常類型,表示與任意異常相比對,當程式中存在多個except block時,最多隻有一個except block會被執行,如果多個except聲明的異常類型都與實際相比對,那麼隻有最前面的except block會被執行,其他則忽略。
  • 異常進行中,還有一個很常用的用法是finally,經常和try,except放在一起來用,無論發生什麼情況,finally block 中的語句都被執行,哪怕前面的try和except block中使用了return語句。
  • finally中,會放一些無論如何都要執行的語句,對于檔案的讀取,常常用with open ,會在最後自動關閉檔案。

3.異常使用場景與注意點

08 | 異常處理:如何提高程式的穩定性?

4.總結

  • 異常,通常是指程式運作的過程中遇到了錯誤,終止并退出,通常使用try except 語句去處理異常,這樣程式就不會被終止,仍能繼續執行
  • 處理異常時,如果有必須執行的語句,比如檔案打開後必須關閉等,則可以放在finally block中
  • 異常處理,通常用在你不确定某段代碼能否成功執行,也無法輕宜判斷的情況下,比如資料庫的連接配接、讀取等。正常的flow-control邏輯,不要使用異常處理,直接用條件語句解決就可以了。