[Python教學] 例外處理

更新 發佈閱讀 4 分鐘

例外處理

Python例外處理

Python例外處理

在Python中,try 和 except 是用來處理異常的關鍵字。它們讓你能夠在代碼中檢測和處理可能引發異常的情況,以確保程序在遇到問題時不會崩潰,而是能夠優雅地處理錯誤情況。

基本用法

以下是 try 和 except 的基本用法:

try:
# 可能引發異常的代碼
result = 10 / 0 # 這裡故意引發了一個除零異常
except Exception as e:
# 異常處理代碼
print(f"發生異常: {e}")

在上面的代碼中,我們在 try 塊中放置了可能引發異常的代碼,這裡故意除以零引發了一個異常。然後,在 except 塊中,我們定義了異常處理代碼,它會捕獲並處理 Exception 類型的異常(這是一個通用的異常類型),然後印出異常信息。

你也可以捕獲特定類型的異常,例如:

try:
num = int("abc") # 這裡故意引發了一個 ValueError 異常
except ValueError as e:
print(f"數值轉換異常: {e}")

在這個例子中,我們只捕獲了 ValueError 異常,這是在試圖將字符串 "abc" 轉換為整數時引發的異常。

使用 try 和 except 可以確保你的程序在出現異常時不會崩潰,而是能夠以一種受控的方式處理異常情況,讓你能夠優雅地處理錯誤並採取適當的措施。

不同類型的異常

在Python中,你可以使用不同的 except 子句來捕獲不同類型的異常。
以下是一些常見的異常類型及其相應的 except 子句:

  1. 通用異常捕獲:你可以使用通用的 except 子句來捕獲所有類型的異常。這在除錯時可能很有用,但要小心不要濫用,因為它會捕獲所有異常,包括你未預期的異常。
try:
# 可能引發異常的代碼
except Exception as e:
# 異常處理代碼
  1. 指定特定異常類型:如果你只想捕獲特定類型的異常,可以指定相應的異常類型。
try:
# 可能引發異常的代碼
except ValueError as e:
# 處理 ValueError 異常
except ZeroDivisionError as e:
# 處理 ZeroDivisionError 異常
  1. 多個異常捕獲:你可以在一個 except 子句中捕獲多個異常類型,這樣可以使用相同的處理代碼處理它們。
try:
# 可能引發異常的代碼
except (ValueError, ZeroDivisionError) as e:
# 處理 ValueError 和 ZeroDivisionError 異常
  1. 捕獲所有異常:如果你希望捕獲所有異常,而不管它們的類型,可以使用 except 子句而不指定異常類型。
try:
# 可能引發異常的代碼
except:
# 處理所有異常
  1. 最終執行:你可以使用 finally 子句來指定無論是否發生異常都要執行的代碼。這通常用於清理工作,例如關閉文件或資源。
try:
# 可能引發異常的代碼
except SomeException as e:
# 處理異常
finally:
# 無論是否有異常,都會執行的代碼

請根據你的程序需要選擇適當的 except 子句,以確保你能夠處理預期的異常並優雅地處理錯誤情況。

異常類型

10個常見的Python異常類型

常見例外處理

常見例外處理

結論

例外處理非常的實用,可以在程式發生異常的時候捕捉到,避免程式整個停止不動或提前結束,常常會搭配Log紀錄,讓你知道是哪變出錯了,工程師在查看問題的時候才有明確的知道問題,加快處理的時間。


系列文章

[Python教學]開發工具介紹

[Python經驗分享]為什麼要學Python? 我回不去了

Google Colab 介紹

[Python教學] 資料型態

[Python教學] IF判斷式

[Python教學] List 清單 和 Tuple元組

[Python教學] for 和 while 迴圈

[Python教學] Dictionary 字典 和 Set 集合

[Python教學] Function函示

[Python教學] Class 類別

[Python教學] 例外處理


最後最後有一件小小的請求,請大家幫我填寫一下問卷,
讓我們知道你想上怎麼樣課程,感激不盡。
問卷這邊

Facebook 粉絲頁 - TechMasters 工程師養成記

程式教育 - 工程師養成記

同步分享到部落格

留言
avatar-img
留言分享你的想法!
avatar-img
何誠殷的沙龍
12會員
16內容數
最近當一個講師,把自己會的技能分享出去, 從平常工作就在使用的Python開始教學 我會陸續把資料分享上來,希望可以透過教學相長的方式,互相學習進步。 教學單元有Colab介紹與使用、ChatGPT助教、變數與資料型態、IF判斷式、List清單、For迴圈、字典與集合、函式與模組、Class類別與物件、標準函示庫與套件
何誠殷的沙龍的其他內容
2023/12/13
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
2023/12/13
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
2023/11/28
日期時間 時間日期在計算機科學和日常生活中都非常重要。時間:時間是一個連續的概念,用來衡量事件發生的順序和持續的時間。時間通常以不同的單位來表示,包括秒、分鐘、小時、天、月和年等。日期:日期是時間的一個特定點,通常包括年、月和日。
Thumbnail
2023/11/28
日期時間 時間日期在計算機科學和日常生活中都非常重要。時間:時間是一個連續的概念,用來衡量事件發生的順序和持續的時間。時間通常以不同的單位來表示,包括秒、分鐘、小時、天、月和年等。日期:日期是時間的一個特定點,通常包括年、月和日。
Thumbnail
2023/11/22
實作密碼產生器 請使用者輸入要產生幾位數的密碼長度 依據使用者輸入的密碼長度,輸出密碼 import random import string 數字 = string.digits 英文 = string.ascii_letters 字母表 = 數字 + 英文 # 0123456789abc
Thumbnail
2023/11/22
實作密碼產生器 請使用者輸入要產生幾位數的密碼長度 依據使用者輸入的密碼長度,輸出密碼 import random import string 數字 = string.digits 英文 = string.ascii_letters 字母表 = 數字 + 英文 # 0123456789abc
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
在第十三課中,我們將探索 Python 中的異常處理。 當 Python 程式運行時,它可能會遇到錯誤。 這些錯誤稱為異常 (Exceptions),如果未被處理,它們會導致程式終止。
Thumbnail
在第十三課中,我們將探索 Python 中的異常處理。 當 Python 程式運行時,它可能會遇到錯誤。 這些錯誤稱為異常 (Exceptions),如果未被處理,它們會導致程式終止。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News