版權所有,未經許可,禁止轉載
章節
- Python 介紹
- Python 開發環境搭建
- Python 語法
- Python 變量
- Python 數值類型
- Python 類型轉換
- Python 字符串(String)
- Python 運算符
- Python 列表(list)
- Python 元組(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循環
- Python For 循環
- Python 函數
- Python Lambda
- Python 類與對象
- Python 繼承
- Python 迭代器(Iterator)
- Python 模塊
- Python 日期(Datetime)
- Python JSON
- Python 正則表達式(RegEx)
- Python PIP包管理器
- Python 異常處理(Try…Except)
- Python 打開文件(File Open)
- Python 讀文件
- Python 寫文件
- Python 刪除文件與文件夾
try
塊讓你可以檢測代碼塊中的錯誤。
except
塊讓你可以處理錯誤。
finally
塊讓你可以執行最終代碼,不管try
與except
塊的結果如何,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() # 關閉文件
文件被關閉。