Python 教學:第6章 異常處理入門
引言
當我們在寫程式時,有時候會遇到一些錯誤,比如除以零或輸入了不正確的資料。這些錯誤就叫做「異常」。在這一章,我們要學習怎麼「捕捉」這些異常,並且讓我們的程式更加堅固。
為什麼要學異常處理
異常處理可以幫助我們的程式在遇到錯誤時,不會就這樣停止運行,而是能夠告訴我們發生了什麼問題,甚至還可以嘗試修復它!
如何捕捉異常
在 Python 裡面,我們可以用 try
和 except
來捕捉異常。這個做法就像是設置了一個安全網,即使程式出錯,也不會讓它摔得太慘。
捕捉異常的範例
- 當我們的程式中可能會出現錯誤的時候,我們可以這樣做:
範例程式
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}")
練習題目
- 寫一個程式,當使用者輸入的不是數字時,告訴他們出了什麼錯。
try:
age = int(input("請輸入您的年齡: "))
print(f"您的年齡是 {age} 歲")
except ValueError:
print("請輸入一個數字來代表您的年齡!")
- 建立一個函數,檢查輸入是否為正數,如果不是,就引發一個異常。
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)
互動式學習
異常處理流程圖
- 透過流程圖來展示異常處理的步驟,幫助小朋友更容易理解。
異常處理測驗
- 提供一些練習題目,讓小朋友判斷在不同情況下應該如何正確處理異常。
視覺輔助工具
異常處理圖解
- 利用圖解方式展示異常是如何被捕捉和處理的。
程式碼錯誤與異常處理範例
- 展示一些帶有常見錯誤的程式碼範例,以及如何通過異常處理來解決這些錯誤。
常見異常類型及其原因摘要表
- 列出一些常見的異常類型,以及導致這些異常的常見原因。
透過這些豐富的內容和互動式學習工具,小朋友們不僅能學會如何處理程式中的錯誤,還能在樂趣中提高解決問題的能力,為未來的程式設計之路打下堅實的基礎。