Python 程式札記 : try-except 錯誤與異常處理

2023/12/07閱讀時間約 4 分鐘

在進行程式設計時,錯誤與異常是無法避免的一部分,理解這些錯誤和異常的處理機制,對於程式設計師來說非常重要。本文將介紹 Python 中的錯誤與異常,以及如何有效使用 try-except 語句來處理這些不可預期的狀況。

錯誤與異常的基本概念

什麼是錯誤?

在 Python 中,錯誤通常指的是程式碼中的語法問題,如遺漏了括號、錯誤的縮排、或不正確的語法使用,都會導致無法執行程式碼,從而產生錯誤。

print("Hello World

上述程式碼缺少了結尾的引號,因此會導致語法錯誤。

什麼是異常?

異常,相對於錯誤,指的是在程式執行過程中發生的異常狀況。即使程式的語法是正確的,但在執行過程中可能會遇到像是檔案不存在、數據類型不匹配、或是運行時資源問題等情形,這些都會引發異常。

為什麼異常處理重要?

異常處理不僅可以預防程序崩潰,還能提供錯誤訊息,幫助開發者進行除錯。它是寫出穩定且可維護程式碼的關鍵。

使用 try-except 處理異常

Python 提供了 try-except 語句,讓開發者能夠處理可能發生的異常,這個機制包含兩個主要部分:tryexcept

try 的作用

try 允許您定義一段可能會產生異常的程式碼。Python 會先嘗試執行這程式碼碼。如果在這過程中沒有異常發生,則 try 塊後程式碼代碼會繼續執行。但如果有異常產生,則執行會立刻跳到相對應的 except

基本的 try-except 使用

try:
# 嘗試執行的程式碼
result = 10 / 0
except ZeroDivisionError:
# 處理異常程式碼碼
print("發生了除以零的錯誤")

在這個例子中,我們嘗試執行一個可能會導致除以零錯誤的程式碼。當這個錯誤發生時,控制流會跳轉到 except ZeroDivisionError 塊,並執行裡面程式碼碼。

處理多種異常

try-except 可以捕捉多種異常類型,以便對不同的異常情況做出不同的反應。

try:
# 程式碼塊
file = open('不存在的檔案.txt', 'r')
except FileNotFoundError:
# 處理檔案不存在的情況
print("檔案不存在")
except Exception as e:
# 處理其他類型的異常
print("發生了其他異常:", e)

在這個例子中,如果嘗試打開的文件不存在,將觸發 FileNotFoundError,如果發生其他類型的異常,則由 except Exception as e 捕捉並處理。

是否應該總是使用 try-except 來處理錯誤?

不一定。有時通過改善程式碼邏輯和進行有效的輸入驗證,可以避免異常的發生。過度使用 try-except 可能會掩蓋程式碼中的問題,因此應當謹慎使用。

進階異常處理方法

使用 elsefinally

除了 tryexcept,Python 的異常處理還可以使用 elsefinally 來進行更細致的控制。

  • else 在未發生異常時執行。
  • finally 無論是否發生異常都會執行,常用於資源清理,比如關閉檔案。
try:
# 可能會產生異常的程式碼
data = "Python 學習"
print(data)
except Exception as e:
# 處理異常
print("發生異常:", e)
else:
# 如果沒有異常發生
print("沒有發生異常")
finally:
# 無論是否發生異常
print("這程式碼碼總會執行")

😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

51會員
82內容數
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 [email protected]
留言0
查看全部
發表第一個留言支持創作者!