Python入門-Day9:例外處理

閱讀時間約 3 分鐘

為什麼要使用「例外處理」

例外處理是一種處理程序中發生的異常情況的方法。當在程序中發生錯誤時,例外處理是一種把控制權從程序的一部分轉移到另一部分的過程。它是一種錯誤處理的方法,用於處理程序可能會遇到的問題,以避免程序崩潰或產生不可預期的結果。

例外處理的重要性在於,它可以幫助我們確定程序中發生錯誤的位置並採取適當的行動。此外,它還可以提供有關錯誤的詳細信息,使我們能夠更好地理解錯誤的原因。最後,例外處理還可以保護我們的程序,防止因錯誤而導致的程序中斷或數據損失。

語法

錯誤處理的語法如下:

try:
# 可能會引發錯誤的代碼
except 错误类型1:
# 如果引發错误类型1,執行的代碼
except 错误类型2:
# 如果引發错误类型2,執行的代碼
else:
# 如果沒有引發任何錯誤,執行的代碼
finally:
# 不管是否引發錯誤,都執行的代碼

案例

以下是一個錯誤處理的案例,用於處理除以零的錯誤:

try:
num1 = 10
num2 = 0
result = num1 / num2
print(result)
except ZeroDivisionError:
print("除以零錯誤")

在上面的案例中,如果 num2 的值為零,就會引發 ZeroDivisionError 錯誤。當出現這種錯誤時,程序會執行 except 語句中的代碼,並打印出 "除以零錯誤"。

主動觸發異常訊息

以下是一個主動觸發異常的案例,用於測試錯誤處理:

try:
raise Exception("這是一個異常")
except Exception as e:
print(e)

在上面的案例中,raise Exception 會主動觸發一個異常,並帶有一個自定義的錯誤訊息 "這是一個異常"。當出現這種異常時,程序會執行 except 語句中的代碼,並打印出錯誤訊息。

主動觸發用戶自定義異常訊息

以下是一個主動觸發用戶自定義異常的案例:

class MyError(Exception):
def __init__(self, message):
self.message = message

try:
raise MyError("這是一個自定義異常")
except MyError as e:
print(e.message)

在上面的案例中,我們定義了一個 MyError 類別,它繼承自 Exception。這個類別有一個 message 屬性,用於存儲錯誤訊息。在 try 語句中,我們使用 raise 關鍵字主動觸發這個自定義異常,並帶有一個自定義的錯誤訊息 "這是一個自定義異常"。當出現這種異常時,程序會執行 except 語句中的代碼,並打印出錯誤訊息。

補充

以下是 Python 的一些標準異常名稱:

  • Exception:所有異常類的基類
  • AttributeError:當對象沒有這個屬性時引發異常
  • FileNotFoundError:當檔案或目錄不存在時引發異常
  • IndexError:當序列中沒有這樣索引的元素時引發異常
  • KeyError:當字典中沒有這樣的鍵時引發異常
  • TypeError:當對象類型不適用於所執行的操作時引發異常
  • ValueError:當對象類型正確但值不合適時引發異常
  • ZeroDivisionError:當除數為零時引發異常
  • IndentationError:當縮排錯誤時引發異常
  • SyntaxError:當語法錯誤時引發異常
  • NameError:當變數名稱不存在時引發異常
    6會員
    77內容數
    日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
    留言0
    查看全部
    發表第一個留言支持創作者!
    Michael楊 的其他內容
    Python入門-Day3:環境建置
    閱讀時間約 3 分鐘
    Python入門-Day4:資料型別
    閱讀時間約 20 分鐘
    Python入門-Day5:運算符
    閱讀時間約 1 分鐘
    Python入門-Day6:流程控制
    閱讀時間約 9 分鐘
    Python入門-Day7:函數
    閱讀時間約 12 分鐘
    Python入門-Day8:物件導向
    閱讀時間約 14 分鐘
    你可能也想看
    ITS Python 認證:入門工程師必備?考試實用性探討初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
    Thumbnail
    avatar
    Siao Yun Jiang
    2024-04-23
    如何用Python匯入大批Excel檔案如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
    Thumbnail
    avatar
    果農
    2023-12-28
    Python 程式札記 : 字符串操作方法與輸入輸出本文將介紹 Python 中的字符串操作方法與輸入輸出,從基本的索引、切片到進階的字符串方法,還有如何進行輸入輸出操作,這對於文本處理和用戶交互來說非常重要。
    Thumbnail
    avatar
    梧笙
    2023-12-02
    Python 爬蟲入門範例:建立簡易抓取網路資料的爬蟲程式網路爬蟲(web crawler),也叫網路蜘蛛(spider) 是一個強大的自動化工具,可以自由瀏覽、擷取訪問網頁的各項資訊,例如:新聞文章、電商商品價格,當專案中需要添加外部數據或進行大量資料收集時,網路爬蟲就是一個非常實用的工具。
    Thumbnail
    avatar
    Karen
    2023-07-31
    Python入門教學(一)Python 是一個易於學習且功能強大的高級程式語言,它廣泛用於軟件開發、數據科學、人工智能和網站開發等領域。本教學將帶您入門 Python,讓您了解基本語法和常用功能。讓我們開始吧!
    Thumbnail
    avatar
    藍橙
    2023-07-31
    五分鐘入門R與Python—使用情境與資源分享資料分析工具百百種,有容易操作資料、視覺化的BI工具、常用於各領域的分析模型套裝軟體等等,但對於想做資料分析、資料科學的人,「程式語言」可以說是現今不可或缺的能力,而R與Python則可以稱為資料科學領域最熱門的兩個程式語言,這篇文章主要想分享R與Python的使用情境,以及分享網路上一些資源。
    Thumbnail
    avatar
    Fann
    2023-07-26
    [Python] 使用openpyxl寫入Excel文件在這篇教學中,我們將介紹如何使用Python的openpyxl套件將資料寫入Excel文件。openpyxl是一個功能強大的函式庫,可以讓我們輕鬆地處理Excel文件。
    avatar
    Pochi
    2023-06-16
    [5 min python] 進入Python的世界 剛開始學一個新的語言,第一個面臨的問題就是,需要先學習架設程式語言的環境。為了避免架設環境而降低學習的熱情,我們可以先使用 Repl.it 協助我們先練習Python 的基本語法。
    Thumbnail
    avatar
    艾利斯
    2021-12-26
    Python 入門教學(1)該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
    Thumbnail
    avatar
    Jessie Wang
    2021-10-20
    在DataCamp學Python和R語言,快速入門資料科學資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。
    Thumbnail
    avatar
    ARON HACK 亞倫害的
    2020-03-03