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

顯示 try-except 結構處理零除錯誤的 Python 代碼示例

理解 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 仍然受到許多程式設計師的喜愛,希望初學者能學習並更多使用這些方便的功能。