iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
Software Development

來一場軟體開發學習之旅系列 第 9

Day 9:例外處理 ─ 讓程式更堅強

  • 分享至 

  • xImage
  •  

程式,遇到問題不應該直接掛掉,而是要能優雅地處理。

  1. Python 的例外處理結構
    try:

    嘗試執行這段程式碼

    number = int(input("請輸入一個數字:"))
    print("你輸入的數字是:", number)
    except ValueError:

    如果發生錯誤,執行這裡

    print("輸入錯誤!請輸入數字。")

try:放可能出錯的程式
except:捕捉到錯誤時,執行替代方案

  1. 捕捉多種錯誤
    try:
    f = open("not_exist.txt", "r") # 檔案不存在
    data = int("hello") # 無法轉成數字
    except FileNotFoundError:
    print("檔案不存在!")
    except ValueError:
    print("格式錯誤,無法轉換數字!")

  2. finally:無論如何都要做的事
    try:
    f = open("data.txt", "r")
    content = f.read()
    except FileNotFoundError:
    print("檔案不存在!")
    finally:
    print("程式結束,感謝使用。")

finally 通常用來清理資源,例如關閉檔案、斷開連線。

  1. else:當沒發生錯誤時執行
    try:
    number = int(input("請輸入數字:"))
    except ValueError:
    print("輸入錯誤!")
    else:
    print("太棒了,正確輸入:", number)

  2. 真實案例:計算機
    try:
    x = int(input("輸入第一個數字:"))
    y = int(input("輸入第二個數字:"))
    result = x / y
    except ValueError:
    print("輸入錯誤,請輸入數字!")
    except ZeroDivisionError:
    print("除數不能是 0!")
    else:
    print("結果是:", result)
    finally:
    print("感謝使用小計算機。")

程式開發不可能一路順風,有時候會遇到意料之外的情況,例如:
想讀取的檔案不存在、使用者輸入錯誤格式的數字、網路連線突然斷掉
如果程式沒有做好防護,就會直接崩潰。
這就是為什麼我們需要例外處理。
學會了例外處理,讓程式能應對突發狀況而不會輕易崩潰。
明天,我們將學習模組與套件(Modules & Packages),學會如何把程式碼組織起來,像拼積木一樣打造更大的專案!


上一篇
Day 8:檔案操作 ─ 讓程式有記憶
系列文
來一場軟體開發學習之旅9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言