在Python中,可以使用try-except語句來捕獲異常。
語法如下:
try:
# 可能會產生異常的代碼塊
except 異常類型1:
# 處理異常的代碼塊
except 異常類型2:
# 處理異常的代碼塊
...
else:
# 如果沒有異常發生,執行的代碼塊
finally:
# 不論是否有異常發生,都會執行的代碼塊
在try塊中,放置可能會產生異常的代碼。當異常發生時,程序會跳轉到對應的except塊來處理異常。可以指定不同的異常類型來處理不同的異常情況。如果沒有匹配的異常類型,異常會向上層調用棧傳播。
如果try塊中沒有異常發生,則會執行else塊中的代碼。無論是否有異常發生,finally塊中的代碼都會被執行。
以下是一個示例:
try:
num1 = int(input("請輸入一個整數:"))
num2 = int(input("請輸入另一個整數:"))
result = num1 / num2
print("結果是:", result)
except ValueError:
print("輸入的不是整數!")
except ZeroDivisionError:
print("除數不能為零!")
except Exception as e:
print("發生了一個異常:", e)
else:
print("沒有異常發生!")
finally:
print("程序結束!")
在這個示例中,用戶輸入兩個整數,然后進行除法運算。如果輸入不是整數,會捕獲ValueError異常;如果除數為零,會捕獲ZeroDivisionError異常;其他異常則會被捕獲到Exception塊中。無論是否有異常發生,最后都會輸出相應的信息。