Python 教學:第6章 異常處理入門

引言

當我們在寫程式時,有時候會遇到一些錯誤,比如除以零或輸入了不正確的資料。這些錯誤就叫做「異常」。在這一章,我們要學習怎麼「捕捉」這些異常,並且讓我們的程式更加堅固。

Python 異常處理

為什麼要學異常處理

異常處理可以幫助我們的程式在遇到錯誤時,不會就這樣停止運行,而是能夠告訴我們發生了什麼問題,甚至還可以嘗試修復它!

如何捕捉異常

在 Python 裡面,我們可以用 tryexcept 來捕捉異常。這個做法就像是設置了一個安全網,即使程式出錯,也不會讓它摔得太慘。

捕捉異常的範例

  • 當我們的程式中可能會出現錯誤的時候,我們可以這樣做:

範例程式

try:
    print(10 / 0)
except ZeroDivisionError:
    print("哎呀!除以零的錯誤!")

針對特定異常的處理

  • 我們可以指定要捕捉哪種類型的錯誤。

範例程式

try:
    num = int(input("請輸入一個數字: "))
    print(f"你輸入的數字是 {num}")
except ValueError:
    print("哎呀!這不是一個數字呢!")

建立自訂異常

  • 我們甚至可以建立自己的異常類別!

範例程式

class MyError(Exception):
    """我的自訂異常"""
    pass

try:
    raise MyError("出問題啦!")
except MyError as e:
    print(f"捕捉到異常:{e}")

練習題目

  1. 寫一個程式,當使用者輸入的不是數字時,告訴他們出了什麼錯。
try:
    age = int(input("請輸入您的年齡: "))
    print(f"您的年齡是 {age} 歲")
except ValueError:
    print("請輸入一個數字來代表您的年齡!")
  1. 建立一個函數,檢查輸入是否為正數,如果不是,就引發一個異常。
def check_positive_number(num):
    if num < 0:
        raise ValueError("數字必須是正數!")

try:
    number = int(input("請輸入一個正數: "))
    check_positive_number(number)
    print("輸入正確!")
except ValueError as e:
    print(e)

互動式學習

異常處理流程圖

  • 透過流程圖來展示異常處理的步驟,幫助小朋友更容易理解。

異常處理測驗

  • 提供一些練習題目,讓小朋友判斷在不同情況下應該如何正確處理異常。

視覺輔助工具

異常處理圖解

  • 利用圖解方式展示異常是如何被捕捉和處理的。

程式碼錯誤與異常處理範例

  • 展示一些帶有常見錯誤的程式碼範例,以及如何通過異常處理來解決這些錯誤。

常見異常類型及其原因摘要表

  • 列出一些常見的異常類型,以及導致這些異常的常見原因。

透過這些豐富的內容和互動式學習工具,小朋友們不僅能學會如何處理程式中的錯誤,還能在樂趣中提高解決問題的能力,為未來的程式設計之路打下堅實的基礎。