一、摘要
Python使用被稱為異常 的特殊對象來管理程序執行期間發生的錯誤。每當發生讓Python不知所措的錯誤時,它都會創建一個異常對象。如果你編寫了處理該異常的代碼,程序將繼續運行;如果你未對異常進行處理,程序將停止,并顯示一個traceback,其中包含有關異常的報告。
異常是使用try-except 代碼塊處理的。try-except 代碼塊讓Python執行指定的操作,同時告訴Python發生異常時怎么辦。使用了try-except 代碼塊時,即便出現異常,程序也將繼續運行:顯示你編寫的友好的錯誤消息,而不是令用戶迷惑的traceback
二、異常實操
處理ZeroDivisionError 異常:try-except&try-except-else

在上述traceback中,指出的錯誤ZeroDivisionError 是一個異常對象。Python無法按你的要求做時,就會創建這種對象。在這種情況下,Python將停止運行程序,并指出引發了哪種異常,而我們可根據這些信息對程序進行修改。下面我們將使用try-except告訴Python,發生這種錯誤時怎么辦

將導致錯誤的代碼行print(5/0) 放在了一個try 代碼塊中。如果try 代碼塊中的代碼運行起來沒有問題,Python將跳過except 代碼塊;如果try 代碼塊中的代碼導致了錯誤,Python將查找這樣的except 代碼塊,并運行其中的代碼,即其中指定的錯誤與引發的錯誤相同,在這個示例中,try 代碼塊中的代碼引發了ZeroDivisionError 異常,因此Python指出了該如何解決問題的except 代碼塊,并運行其中的代碼。這樣,用戶看到的是一條友好的錯誤消息,而不是traceback,如果try-except 代碼塊后面還有其他代碼,程序將接著運行,因為已經告訴了Python如何處理這種錯誤
新聞熱點
疑難解答