在Python中,處理異常主要使用 try-except 語句。當(dāng)可能出現(xiàn)異常的代碼放在 try 塊中時(shí),如果 try 塊中的代碼執(zhí)行過程中發(fā)生了異常,Python會(huì)停止當(dāng)前的執(zhí)行流程,跳轉(zhuǎn)到與該異常類型相對應(yīng)的 except 塊中執(zhí)行。
以下是一個(gè)簡單的示例:
try:
# 可能出現(xiàn)異常的代碼
result = 10 / 0
except ZeroDivisionError:
# 處理除以零的異常
print("除數(shù)不能為零!")
except Exception as e:
# 處理其他類型的異常
print(f"發(fā)生了未知錯(cuò)誤:{e}")
finally:
# 無論是否發(fā)生異常,都會(huì)執(zhí)行的代碼
print("異常處理結(jié)束。")
在這個(gè)示例中,我們嘗試將一個(gè)數(shù)除以零,這會(huì)引發(fā) ZeroDivisionError 異常。我們將這個(gè)可能引發(fā)異常的代碼放在了 try 塊中。當(dāng)我們遇到 ZeroDivisionError 異常時(shí),Python會(huì)跳轉(zhuǎn)到與該異常類型相對應(yīng)的 except 塊中執(zhí)行,打印出 “除數(shù)不能為零!”。如果我們遇到了其他類型的異常,我們會(huì)執(zhí)行第二個(gè) except 塊中的代碼。finally 塊中的代碼則會(huì)在所有情況下執(zhí)行。
除了 ZeroDivisionError,Python還提供了許多其他的內(nèi)置異常類型,如 ValueError、TypeError 等,我們可以根據(jù)需要使用相應(yīng)的 except 塊來處理這些異常。此外,我們還可以自定義異常類型,并在代碼中使用 try-except 語句來處理它們。