Python錯誤處理操作示例

2022-10-04 19:15:13 字數 1068 閱讀 7719

同j**a一樣,在python中也有try...except...finaly的錯誤處理機制

try:

print('try...')

r=5/0程式設計客棧

print('result:',r)

except zerodivisionerror as e:

print('except',e)

finally:

print('finally....')

print('end')

比如上面這串**,因為被除數不能為0所以在try中會出現錯誤,而出現錯誤之後,result是不會列印出來的,而是直接跳轉到except中並列印出錯誤資訊,執行完except之後,如果有finally語句,就一定會執行完,所以無論有沒有finally都會執行。

結果為:

try...

excnoskjtfzzwept: division by zero

finally...

end這裡出現的錯誤是zerodivisionerror錯誤,python中還有很多的錯誤,比如valueerror錯誤,所以,在這個錯誤機制中我們可以設定多個except語句來捕捉不同的錯誤,比如,

try:

print('try...')

r = 10 / int('a')

print('result:',程式設計客棧 r)

except valueerror as e:

print('valueerror:', e)

except zerodivisionerror as e:

print('zerodivisionerror:', e)

finally:

print('finally...')

print('end')

因為多了乙個int()函式,所有有可能出現值錯誤,接著,你也可以在except後面程式設計客棧加乙個else函式來列印無錯誤來提醒自己。

可以看出,其實和j**a一樣,錯誤都是繼承類,他們的父類都為baseexception,所以,如果寫了多個except語句但是裡面包含父子類,那麼只會被父類給捕獲:

python錯誤處理還可參考:

Python 錯誤處理

當我們認為某些 可能會出錯時,就可以用try來執行這段 如果執行出錯,則後續 不會繼續執行,而是直接跳轉至錯誤處理 即except語句塊,執行完except後,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。例 a b traceback most recent call l...

Python編碼錯誤處理

在將字串寫入檔案時,執行f.write str 後台總是報錯 unicodeencodeerror ascii codec can t encode character u u6211 in position 0 ordinal not in range 128 即ascii碼無法被轉換成unico...

python 錯誤處理 assert

assert是斷言的意思,解釋為 我斷定這個程式執行之後或者之前會有這樣的結果,如果不是,那就扔出乙個錯誤。語法 assert expression arguments assert 表示式 引數 舉例 def foo s n int s assert n 0,n is zero return 10...