目錄
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.異常使用場景與注意點
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn5kMZpnW1x2RkBHbuJGasNDTwYVbiVHNHpleO1GTulzRilWO5xkNNh0YwIFSh9Fd4VGdsATMfd3bkFGazxyaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN5MzNzQTM5ITNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
4.總結
- 異常,通常是指程式運作的過程中遇到了錯誤,終止并退出,通常使用try except 語句去處理異常,這樣程式就不會被終止,仍能繼續執行
- 處理異常時,如果有必須執行的語句,比如檔案打開後必須關閉等,則可以放在finally block中
- 異常處理,通常用在你不确定某段代碼能否成功執行,也無法輕宜判斷的情況下,比如資料庫的連接配接、讀取等。正常的flow-control邏輯,不要使用異常處理,直接用條件語句解決就可以了。