在Python中,異常處理是通過(guò)使用try
和except
語(yǔ)句來(lái)實(shí)現(xiàn)的。當(dāng)程序執(zhí)行過(guò)程中遇到錯(cuò)誤時(shí),try
塊中的代碼會(huì)停止執(zhí)行,然后跳轉(zhuǎn)到except
塊中處理異常。以下是一個(gè)簡(jiǎn)單的示例:
try:
# 這里是可能引發(fā)異常的代碼
result = 10 / 0
except ZeroDivisionError as e:
# 這里是處理異常的代碼
print(f"發(fā)生了錯(cuò)誤:{e}")
在這個(gè)例子中,我們嘗試執(zhí)行一個(gè)除以零的操作,這會(huì)引發(fā)ZeroDivisionError
異常。我們將這個(gè)可能引發(fā)異常的代碼放在try
塊中,然后在except
塊中捕獲并處理這個(gè)異常。
你可以使用多個(gè)except
語(yǔ)句來(lái)處理不同類(lèi)型的異常,例如:
try:
# 這里是可能引發(fā)異常的代碼
result = 10 / 'a'
except ZeroDivisionError as e:
# 處理除以零的異常
print(f"發(fā)生了錯(cuò)誤:{e}")
except TypeError as e:
# 處理類(lèi)型錯(cuò)誤的異常
print(f"發(fā)生了錯(cuò)誤:{e}")
此外,你還可以使用else
子句來(lái)指定當(dāng)沒(méi)有異常發(fā)生時(shí)執(zhí)行的代碼:
try:
# 這里是可能引發(fā)異常的代碼
result = 10 / 2
except ZeroDivisionError as e:
# 處理除以零的異常
print(f"發(fā)生了錯(cuò)誤:{e}")
else:
# 如果沒(méi)有異常發(fā)生,執(zhí)行這里的代碼
print(f"結(jié)果是:{result}")
最后,你還可以使用finally
子句來(lái)指定無(wú)論是否發(fā)生異常都需要執(zhí)行的代碼:
try:
# 這里是可能引發(fā)異常的代碼
result = 10 / 2
except ZeroDivisionError as e:
# 處理除以零的異常
print(f"發(fā)生了錯(cuò)誤:{e}")
finally:
# 無(wú)論是否發(fā)生異常,都執(zhí)行這里的代碼
print("執(zhí)行完畢")