Python Try Except
- 上一頁 Python PIP
- 下一頁 Python 命令輸入
try
塊允許您測試代碼塊以查找錯誤。
except
塊允許您處理錯誤。
finally
塊允許您執行代碼,無論 try 和 except 塊的結果如何。
異常處理
當我們調用 Python 并發生錯誤或異常時,通常會停止并生成錯誤消息。
可以使用 try
語句處理這些異常:
實例
try 塊將生成異常,因為 x 未定義:
try: print(x) except: print("An exception occurred")
由于 try 塊引發錯誤,因此會執行 except 塊。
如果沒有 try 塊,程序將崩潰并引發錯誤:
實例
該語句將引發錯誤,因為未定義 x:
print(x)
多個異常
您可以根據需要定義任意數量的 exception 塊,例如,假如您要為特殊類型的錯誤執行特殊代碼塊:
實例
如果 try 塊引發 NameError
,則打印一條消息,如果是其他錯誤則打印另一條消息:
try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong")
Else
如果沒有引發錯誤,那么您可以使用 else
關鍵字來定義要執行的代碼塊:
實例
在本例中,try
塊不會生成任何錯誤:
try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong")
Finally
如果指定了 finally
塊,則無論 try 塊是否引發錯誤,都會執行 finally 塊。
實例
try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished")
這對于關閉對象并清理資源非常有用:
實例
試圖打開并寫入不可寫的文件:
try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Something went wrong when writing to the file") finally: f.close()
程序可以繼續,而且不會打開文件對象。
引發異常
作為 Python 開發者,您可以選擇在條件發生時拋出異常。
如需拋出(引發)異常,請使用 raise
關鍵詞。
實例
假如 x 小于 0,則引發異常并終止程序:
x = -1 if x < 0: raise Exception("Sorry, no numbers below zero")
raise
關鍵字用于引發異常。
您能夠定義所引發異常的類型、以及打印給用戶的文本。
實例
如果 x 不是整數,則引發 TypeError:
x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed")
- 上一頁 Python PIP
- 下一頁 Python 命令輸入