在用 Python 撰寫程式碼時,可能因為各種原因出現錯誤。這些錯誤常常導致程式中斷,而 Python 提供了 try-except
語句,使我們可以輕鬆處理錯誤。透過這個語句,即使在特定語句中發生錯誤,程式也不會被中斷,能夠安全地繼續進行。

理解 Python 的 try-except
語句,能使我們有能力找出並修正程式碼失敗的原因。以下是一個簡單的 ZeroDivisionError
處理示例。
try:
result = 10 / 0
except ZeroDivisionError:
result = "無法被零除"
print(result) # 無法被零除
在上述代碼中,當發生零除錯誤時,會輸出「無法被零除」的訊息,並使程式安全地繼續進行。這樣 Python 的設計使得初學者也能輕鬆處理錯誤,隨意實驗並撰寫程式碼。
C++ 與 Python 的錯誤處理比較
在其他語言 C++ 中,例外處理是透過 try-catch
語句來進行的。然而,在處理例外後必須精確指定類型,並且在每次錯誤發生時都需注意記憶體管理。例如,要處理 C++ 中的零除情況,需這樣撰寫:
#include <iostream>
int main() {
try {
int result = 10 / 0;
} catch (const std::exception& e) {
std::cout << "錯誤: " << e.what() << std::endl;
}
return 0;
}
雖然 C++ 使用 try-catch
語句,但根據錯誤類型需要詳細撰寫 catch
區塊,每當出現錯誤時也必須妥善管理記憶體。而 Python 則不需要這樣複雜的過程,能用簡潔的語句輕鬆處理錯誤。特別是 Python 的 try-except
語句能讓程式在發生錯誤時,簡單地保持流程,並且能夠寫出直觀且簡明的代碼,這一點上的優勢確實很大。
Try-Except 語句的優點
- 程式的穩定性: 確保程式不會意外中斷,保證穩定執行。
- 依錯誤類別處理: 可以使用多個
except
語句來處理特定的錯誤。 - 除錯與問題解決: 提供機會讓我們找出並修正程式中的問題。
常見錯誤及處理方法
Python 能用 try-except
語句處理的錯誤有很多。初學者常遇到的錯誤及其處理示例如下。
- ZeroDivisionError: 發生在 0 除法運算時,可以透過
try-except
安全處理。 - FileNotFoundError: 在打開不存在的檔案時發生的錯誤,可以透過告知使用者檔案不存在來處理。
- ValueError: 當輸入的值與預期不符時發生,對於期望數字而輸入字串的情況很有用。
例如,在嘗試打開檔案時可以這樣處理 FileNotFoundError
:
try:
with open("non_existent_file.txt", "r") as file:
content = file.read()
except FileNotFoundError:
content = "檔案未找到。請檢查檔案路徑。"
print(content) # 檔案未找到。請檢查檔案路徑。
活用 try-except 語句的技巧
- 準確指定錯誤: 寧可不囊括所有錯誤,應指定預測可能發生的錯誤類別。
- 錯誤訊息紀錄: 發生錯誤時,除了告知使用者,還應以記錄的方式保存,以便利追踪問題。
- 避免一次處理所有錯誤: 對於每個可能的具體錯誤應有針對性的例外處理。
結語
Python 的 try-except
語句讓初學者輕鬆處理錯誤並安全運行程式。此語句防止程式中斷,為初學者提供自由實驗的環境,以便學習程式編碼。即使在今天,Python 仍然受到許多程式設計師的喜愛,希望初學者能學習並更多使用這些方便的功能。
Add a New Comment