本文實例講述了Python錯誤處理操作。分享給大家供大家參考,具體如下:
同java一樣,在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...
except: 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
函數來打印無錯誤來提醒自己。
可以看出,其實和java一樣,錯誤都是繼承類,他們的父類都為BaseException,所以,如果寫了多個except
語句但是里面包含父子類,那么只會被父類給捕獲:
Python錯誤處理還可參考:https://docs.python.org/3/library/exceptions.html#exception-hierarchy
更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答