Python 異常處理(Try...Except)


版權所有,未經許可,禁止轉載


章節


try塊讓你可以檢測代碼塊中的錯誤。

except塊讓你可以處理錯誤。

finally塊讓你可以執行最終代碼,不管tryexcept塊的結果如何,finally塊的代碼都將執行。

異常處理

當錯誤(或者異常)發生時,Python通常會停止執行,並報錯。

這些異常可以使用try/except語句處理:

示例

下面try塊會產生異常,因為x沒有定義:

try:
  print(x)
except:
  print("發生異常")

因為try塊引發錯誤,所以except塊將被執行。

如果沒有try塊,程序將崩潰並引發錯誤:

示例

這個語句會產生一個錯誤,因為x沒有定義:

print(x)

多個except

可以定義多個except,例如,可以為一種特殊錯誤定義一個專門的except代碼塊:

示例

這個語句會產生一個錯誤,因為x沒有定義:

try:
  print(x)
except NameError:
  print("變量x沒有定義")
except:
  print("其他錯誤")

else

可以使用else關鍵字來定義一個代碼塊,如果沒有錯誤發生,else代碼塊將被執行:

示例

在這個例子中,try塊不會產生任何錯誤:

try:
  print("你好")
except:
  print("出錯了")
else:
  print("一切正常")

finally

如果定義了finally塊,則無論try塊是否引發錯誤,都會執行finally塊。

示例

try:
  print(x)
except:
  print("出錯了")
finally:
  print("'try except'處理結束")

這對於關閉對象、清理資源非常有用:

示例

嘗試寫一個不可寫的文件:

try:
  f = open("test.txt")
  f.write("奇客谷教程")
except:
  print("寫文件出錯了")
finally:
  f.close() # 關閉文件

文件被關閉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM