在開發程式的過程中,難免有會遇到錯誤,例如:使用者輸入不正確的資料、網路連線問題或語法上的問題等,如果沒有做好例外處理的機制,程式碼可能因此而中斷,還會讓使用者看到錯誤訊息,對產品使用的觀感不佳,體驗也會大打折扣。因此,在開發的過程中要考慮到錯誤發生時,程式碼要如何做適當的反應。
Python 在例外處理的機制為:
try 執行
except 例外
else 都沒出錯就執行這區塊
finally 任何狀況下都會執行的區塊
而錯誤類型可以至該網址查看,常見ValueError(ex: int(hi))、ZeroDivisionError(ex: x = 2/0)、
先來個完整的架構的範例:
1 | def func(x, y): |
output:
1 | 結果是: 2.0 |
一般來說可以這樣寫:
1 | try: |
不確定的錯誤類型的話 error type 可以不寫
example:
1 | def func(x, y): |
1 | something wrong |
sys.exc_info()[0] 可以用來取出 except 的錯誤訊息
1 | import sys |
output:
1 | Unexpected error: <class 'TypeError'> |