在第十三課中,我們將探索 Python 中的異常處理。
當 Python 程式運行時,它可能會遇到錯誤。
這些錯誤稱為異常 (Exceptions),如果未被處理,它們會導致程式終止。
透過異常處理,我們可以適當地回應錯誤並讓程式繼續運行,或給出更有意義的錯誤訊息。
請新建一個檔案 exception_handling.py
。
try...except
語句,你可以捕捉和處理異常。pythonCopy code
try:
result = 10 / 0
except ZeroDivisionError:
print("You tried to divide by zero!")
在上述代碼中,我們嘗試執行可能會導致錯誤的代碼 (10除以0)。
當這種錯誤發生時,Python 會拋出 ZeroDivisionError
異常,except
部分的代碼將會執行。
except
子句,來捕捉和處理不同類型的異常。pythonCopy code
try:
# This will raise an IndexError
my_list = [1, 2, 3]
print(my_list[5])
except ZeroDivisionError:
print("You tried to divide by zero!")
except IndexError:
print("You tried to access an index that doesn't exist!")
finally
子句中的代碼無論是否發生異常都將被執行。這通常用於清理資源,例如關閉文件。pythonCopy code
try:
f = open('myfile.txt', 'r')
content = f.read()
except FileNotFoundError:
print("The file was not found.")
finally:
f.close()
raise
語句拋出特定的異常。這對於指出你的代碼中的問題特別有用。pythonCopy code
age = -5
if age < 0:
raise ValueError("Age cannot be negative!")
請在 exception_handling.py
檔案中輸入並運行上述代碼片段,觀察結果,並嘗試編寫和捕捉你自己的異常。
異常處理是確保你的程式穩健和用戶友好的一個重要組成部分。