在Python中,try
和 except
是用來處理異常的關鍵字。它們讓你能夠在代碼中檢測和處理可能引發異常的情況,以確保程序在遇到問題時不會崩潰,而是能夠優雅地處理錯誤情況。
以下是 try
和 except
的基本用法:
try:
# 可能引發異常的代碼
result = 10 / 0 # 這裡故意引發了一個除零異常
except Exception as e:
# 異常處理代碼
print(f"發生異常: {e}")
在上面的代碼中,我們在 try
塊中放置了可能引發異常的代碼,這裡故意除以零引發了一個異常。然後,在 except
塊中,我們定義了異常處理代碼,它會捕獲並處理 Exception
類型的異常(這是一個通用的異常類型),然後印出異常信息。
你也可以捕獲特定類型的異常,例如:
try:
num = int("abc") # 這裡故意引發了一個 ValueError 異常
except ValueError as e:
print(f"數值轉換異常: {e}")
在這個例子中,我們只捕獲了 ValueError
異常,這是在試圖將字符串 "abc" 轉換為整數時引發的異常。
使用 try
和 except
可以確保你的程序在出現異常時不會崩潰,而是能夠以一種受控的方式處理異常情況,讓你能夠優雅地處理錯誤並採取適當的措施。
在Python中,你可以使用不同的 except
子句來捕獲不同類型的異常。
以下是一些常見的異常類型及其相應的 except
子句:
except
子句來捕獲所有類型的異常。這在除錯時可能很有用,但要小心不要濫用,因為它會捕獲所有異常,包括你未預期的異常。try:
# 可能引發異常的代碼
except Exception as e:
# 異常處理代碼
try:
# 可能引發異常的代碼
except ValueError as e:
# 處理 ValueError 異常
except ZeroDivisionError as e:
# 處理 ZeroDivisionError 異常
except
子句中捕獲多個異常類型,這樣可以使用相同的處理代碼處理它們。try:
# 可能引發異常的代碼
except (ValueError, ZeroDivisionError) as e:
# 處理 ValueError 和 ZeroDivisionError 異常
except
子句而不指定異常類型。try:
# 可能引發異常的代碼
except:
# 處理所有異常
finally
子句來指定無論是否發生異常都要執行的代碼。這通常用於清理工作,例如關閉文件或資源。try:
# 可能引發異常的代碼
except SomeException as e:
# 處理異常
finally:
# 無論是否有異常,都會執行的代碼
請根據你的程序需要選擇適當的 except
子句,以確保你能夠處理預期的異常並優雅地處理錯誤情況。
10個常見的Python異常類型
例外處理非常的實用,可以在程式發生異常的時候捕捉到,避免程式整個停止不動或提前結束,常常會搭配Log紀錄,讓你知道是哪變出錯了,工程師在查看問題的時候才有明確的知道問題,加快處理的時間。
[Python經驗分享]為什麼要學Python? 我回不去了
[Python教學] Dictionary 字典 和 Set 集合
最後最後有一件小小的請求,請大家幫我填寫一下問卷,
讓我們知道你想上怎麼樣課程,感激不盡。
問卷這邊