[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 工程師養成記

程式教育 - 工程師養成記

同步分享到部落格

12會員
16內容數
最近當一個講師,把自己會的技能分享出去, 從平常工作就在使用的Python開始教學 我會陸續把資料分享上來,希望可以透過教學相長的方式,互相學習進步。 教學單元有Colab介紹與使用、ChatGPT助教、變數與資料型態、IF判斷式、List清單、For迴圈、字典與集合、函式與模組、Class類別與物件、標準函示庫與套件
留言0
查看全部
發表第一個留言支持創作者!
何誠殷的沙龍 的其他內容
Class 類別 想像一下,假如我們要做一個有關食譜和食物的程式。首先,什麼是食譜呢?食譜是一個告訴我們如何做一道菜的指南,裡面會寫著需要的材料和做法。這就像是一個「類別」,它定義了一種事物的特性和行為。
Function函示 想像一個特別的工廠,叫做「點心工廠」。 這個工廠可以製作各種美味的點心,比如餅乾、蛋糕、糖果等等。 每種點心都有不同的味道和形狀。 在這個比喻中,我們可以把「點心工廠」想像成是一個函式,而工廠製作的各種點心就是函式可以執行的事情。
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
IF判斷式 if判斷式是程式中的一種條件控制結構,用於根據條件的真假來執行不同的程式塊。 在Python中,if語句的基本格式如下: if 條件: # 滿足條件時要執行的程式塊 else: # 不滿足條件時要執行的程式塊
Class 類別 想像一下,假如我們要做一個有關食譜和食物的程式。首先,什麼是食譜呢?食譜是一個告訴我們如何做一道菜的指南,裡面會寫著需要的材料和做法。這就像是一個「類別」,它定義了一種事物的特性和行為。
Function函示 想像一個特別的工廠,叫做「點心工廠」。 這個工廠可以製作各種美味的點心,比如餅乾、蛋糕、糖果等等。 每種點心都有不同的味道和形狀。 在這個比喻中,我們可以把「點心工廠」想像成是一個函式,而工廠製作的各種點心就是函式可以執行的事情。
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
IF判斷式 if判斷式是程式中的一種條件控制結構,用於根據條件的真假來執行不同的程式塊。 在Python中,if語句的基本格式如下: if 條件: # 滿足條件時要執行的程式塊 else: # 不滿足條件時要執行的程式塊
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Python 是一個功能強大的程式語言,提供了非常直觀的檔案處理方式。無論是處理數據檔案、讀取日誌文件,還是生成報表,檔案讀寫操作都是程式開發中的重要環節。這篇文章將帶你深入了解如何使用 Python 操作檔案,包括讀取和寫入、檔案模式選擇以及上下文管理器的使用。
在這篇教學中,我們將深入介紹 Python 的控制流程,包括 if-else 判斷、for 和 while 迴圈、break 和 continue 語句的使用,以及如何定義函數並進行參數傳遞。這些概念都是撰寫 Python 程式時的基礎知識,掌握它們將幫助你編寫更清晰、有效的程式碼。
Python 是一門功能強大且簡潔的程式語言,內建了多種資料結構來幫助開發者處理各種不同的需求。今天,我們將介紹五種常見的資料結構:字串、清單、元組、集合和字典,並學習它們的使用方式。
Thumbnail
本篇文章探討了Python中的字串、列表、元組、集合與字典這五種資料類型的定義與基本操作。這些資料類型各具特點,例如字串和元組是不可變的,列表和集合是可變的,適合不同的使用場景。文章中詳細介紹如何定義進行基本的操作(如添加、刪除、訪問元素等)。
Python 是一個功能強大且易於學習的程式語言,適合初學者快速上手。今天,我們將介紹 Python 的幾個基礎概念,涵蓋變數、資料型別、運算符、條件判斷、迴圈和函式,這些是所有 Python 程式的核心組件。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
介紹條件控制流程,包含組成它的比較運算子、條件運算式、條件語句。 繼講解完邏輯運算之後,我們終於要開始認識控制流程的其中之一:條件(Condition)。 如同在程式的邏輯思維中介紹到的,我們需要決定問題為 True 需要執行什麼,反之又要執行什麼。這些路徑的選擇便是由條件控制流程所實現。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Python 是一個功能強大的程式語言,提供了非常直觀的檔案處理方式。無論是處理數據檔案、讀取日誌文件,還是生成報表,檔案讀寫操作都是程式開發中的重要環節。這篇文章將帶你深入了解如何使用 Python 操作檔案,包括讀取和寫入、檔案模式選擇以及上下文管理器的使用。
在這篇教學中,我們將深入介紹 Python 的控制流程,包括 if-else 判斷、for 和 while 迴圈、break 和 continue 語句的使用,以及如何定義函數並進行參數傳遞。這些概念都是撰寫 Python 程式時的基礎知識,掌握它們將幫助你編寫更清晰、有效的程式碼。
Python 是一門功能強大且簡潔的程式語言,內建了多種資料結構來幫助開發者處理各種不同的需求。今天,我們將介紹五種常見的資料結構:字串、清單、元組、集合和字典,並學習它們的使用方式。
Thumbnail
本篇文章探討了Python中的字串、列表、元組、集合與字典這五種資料類型的定義與基本操作。這些資料類型各具特點,例如字串和元組是不可變的,列表和集合是可變的,適合不同的使用場景。文章中詳細介紹如何定義進行基本的操作(如添加、刪除、訪問元素等)。
Python 是一個功能強大且易於學習的程式語言,適合初學者快速上手。今天,我們將介紹 Python 的幾個基礎概念,涵蓋變數、資料型別、運算符、條件判斷、迴圈和函式,這些是所有 Python 程式的核心組件。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
介紹條件控制流程,包含組成它的比較運算子、條件運算式、條件語句。 繼講解完邏輯運算之後,我們終於要開始認識控制流程的其中之一:條件(Condition)。 如同在程式的邏輯思維中介紹到的,我們需要決定問題為 True 需要執行什麼,反之又要執行什麼。這些路徑的選擇便是由條件控制流程所實現。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。