iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
自我挑戰組

30 天全面認識 Python系列 第 24

Day 24:錯誤與例外處理

  • 分享至 

  • xImage
  •  

為什麼要學例外處理?

在現實世界,程式不可能永遠在理想狀態下執行,當你讀檔案時,可能檔案不存在;當你輸入數字時,可能有人輸入文字;當你連線網路時,可能會斷線。如果沒有處理這些意外,程式就會直接當掉。

最基本的 try-except

try:
    x = int(input("請輸入一個數字:"))
    print("結果:", 10 / x)
except ValueError:
    print("請輸入正確的數字!")
except ZeroDivisionError:
    print("不能除以零!")

這樣程式就能避免因為錯誤輸入而崩潰。

捕捉多種錯誤

有時候我們不確定會發生什麼錯誤,可以這樣寫:

try:
    f = open("not_exist.txt", "r")
    print(f.read())
except (FileNotFoundError, PermissionError) as e:
    print("發生錯誤:", e)

finally:無論如何都會執行

有些情況下,即使發生錯誤,也要確保程式能做某些收尾動作,例如關閉檔案:

try:
    f = open("data.txt", "r")
    print(f.read())
except FileNotFoundError:
    print("找不到檔案")
finally:
    print("程式結束,資源已釋放")

raise:主動拋出例外

有時候我們希望在不符合條件時「自己拋出錯誤」:

def set_age(age):
    if age < 0:
        raise ValueError("年齡不能是負數!")
    print(f"年齡設定為 {age}")

set_age(-1)

今日小挑戰

請設計一個簡單的計算機,能夠:

  • 讀取使用者輸入的「數字與運算符號」
  • 嘗試計算並輸出結果
  • 遇到錯誤(像是除以零、輸入文字)時,能夠正確提示而不是崩潰

這個挑戰能讓你體驗「如何保護程式不被錯誤輸入擊倒」的實戰技巧。


上一篇
Day 23:檔案應用案例 —— 簡易記事本
下一篇
Day 25:模組與套件的使用
系列文
30 天全面認識 Python28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言