Python 程式札記 : try-except 錯誤與異常處理

閱讀時間約 4 分鐘

在進行程式設計時,錯誤與異常是無法避免的一部分,理解這些錯誤和異常的處理機制,對於程式設計師來說非常重要。本文將介紹 Python 中的錯誤與異常,以及如何有效使用 try-except 語句來處理這些不可預期的狀況。

錯誤與異常的基本概念

什麼是錯誤?

在 Python 中,錯誤通常指的是程式碼中的語法問題,如遺漏了括號、錯誤的縮排、或不正確的語法使用,都會導致無法執行程式碼,從而產生錯誤。

print("Hello World

上述程式碼缺少了結尾的引號,因此會導致語法錯誤。

什麼是異常?

異常,相對於錯誤,指的是在程式執行過程中發生的異常狀況。即使程式的語法是正確的,但在執行過程中可能會遇到像是檔案不存在、數據類型不匹配、或是運行時資源問題等情形,這些都會引發異常。

為什麼異常處理重要?

異常處理不僅可以預防程序崩潰,還能提供錯誤訊息,幫助開發者進行除錯。它是寫出穩定且可維護程式碼的關鍵。

使用 try-except 處理異常

Python 提供了 try-except 語句,讓開發者能夠處理可能發生的異常,這個機制包含兩個主要部分:tryexcept

try 的作用

try 允許您定義一段可能會產生異常的程式碼。Python 會先嘗試執行這程式碼碼。如果在這過程中沒有異常發生,則 try 塊後程式碼代碼會繼續執行。但如果有異常產生,則執行會立刻跳到相對應的 except

基本的 try-except 使用

try:
# 嘗試執行的程式碼
result = 10 / 0
except ZeroDivisionError:
# 處理異常程式碼碼
print("發生了除以零的錯誤")

在這個例子中,我們嘗試執行一個可能會導致除以零錯誤的程式碼。當這個錯誤發生時,控制流會跳轉到 except ZeroDivisionError 塊,並執行裡面程式碼碼。

處理多種異常

try-except 可以捕捉多種異常類型,以便對不同的異常情況做出不同的反應。

try:
# 程式碼塊
file = open('不存在的檔案.txt', 'r')
except FileNotFoundError:
# 處理檔案不存在的情況
print("檔案不存在")
except Exception as e:
# 處理其他類型的異常
print("發生了其他異常:", e)

在這個例子中,如果嘗試打開的文件不存在,將觸發 FileNotFoundError,如果發生其他類型的異常,則由 except Exception as e 捕捉並處理。

是否應該總是使用 try-except 來處理錯誤?

不一定。有時通過改善程式碼邏輯和進行有效的輸入驗證,可以避免異常的發生。過度使用 try-except 可能會掩蓋程式碼中的問題,因此應當謹慎使用。

進階異常處理方法

使用 elsefinally

除了 tryexcept,Python 的異常處理還可以使用 elsefinally 來進行更細致的控制。

  • else 在未發生異常時執行。
  • finally 無論是否發生異常都會執行,常用於資源清理,比如關閉檔案。
try:
# 可能會產生異常的程式碼
data = "Python 學習"
print(data)
except Exception as e:
# 處理異常
print("發生異常:", e)
else:
# 如果沒有異常發生
print("沒有發生異常")
finally:
# 無論是否發生異常
print("這程式碼碼總會執行")

😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

60會員
91內容數
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 [email protected]
留言0
查看全部
發表第一個留言支持創作者!
梧笙の領域展開 的其他內容
物件導向(OOP),不僅提供了更結構化的程式碼組織方式,還有助於提高程式碼的可讀性、可重用性和可維護性。本文將介紹物件導向概念中的類別、對象、繼承、封裝和多型,並透過具體範例來展示這些概念如何在實際編程中應用。
本文將介紹如何在 Python 中導入和使用標準函式庫中的模組,以及如何創建自定義模組和套件。我們將透過具體的例子和程式碼,讓你更好的理解和應用模組和套件。
函式是 Python 程式設計中的非常重要的一環,能夠增強程式碼的可讀性和重用性。本文將介紹函式的基本觀念,包含函式的定義、調用、參數類型、返回值,以及在不同範圍內的行為。
本文將介紹 Python 中的字符串操作方法與輸入輸出,從基本的索引、切片到進階的字符串方法,還有如何進行輸入輸出操作,這對於文本處理和用戶交互來說非常重要。
本文將介紹 Python 中的四種基本的資料結構:列表(List)、字典(Dictionary)、集合(Set)和元組(Tuple),並探討如何根據不同的需求選擇合適的資料結構。
本文將介紹 Python 中的控制結構,包括決策制定的 if-else 語句和實現迭代的 for 及 while 迴圈,從基礎語法到實際應用,你將了解如何使用這些控制結構來解決問題。
物件導向(OOP),不僅提供了更結構化的程式碼組織方式,還有助於提高程式碼的可讀性、可重用性和可維護性。本文將介紹物件導向概念中的類別、對象、繼承、封裝和多型,並透過具體範例來展示這些概念如何在實際編程中應用。
本文將介紹如何在 Python 中導入和使用標準函式庫中的模組,以及如何創建自定義模組和套件。我們將透過具體的例子和程式碼,讓你更好的理解和應用模組和套件。
函式是 Python 程式設計中的非常重要的一環,能夠增強程式碼的可讀性和重用性。本文將介紹函式的基本觀念,包含函式的定義、調用、參數類型、返回值,以及在不同範圍內的行為。
本文將介紹 Python 中的字符串操作方法與輸入輸出,從基本的索引、切片到進階的字符串方法,還有如何進行輸入輸出操作,這對於文本處理和用戶交互來說非常重要。
本文將介紹 Python 中的四種基本的資料結構:列表(List)、字典(Dictionary)、集合(Set)和元組(Tuple),並探討如何根據不同的需求選擇合適的資料結構。
本文將介紹 Python 中的控制結構,包括決策制定的 if-else 語句和實現迭代的 for 及 while 迴圈,從基礎語法到實際應用,你將了解如何使用這些控制結構來解決問題。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
理財對於許多人來說似乎是一個艱深的主題,但事實上,每個人都可以從零開始學習如何有效地管理自己的財務。無論你是一個年輕的上班族、學生,或是已經步入退休階段的人,理財的基本原則都能夠幫助你更好地掌握自己的金錢,實現財務目標。這篇文章將為理財小白提供一個簡單的指南,以幫助你開始建立堅實的理財基礎。 瞭解
Thumbnail
這篇會從註冊>介面>使用,一次性完整介紹Leonardo.Ai,會持續追蹤官方的更新進度進行修正。(最後更新時間:2023/08/30)
Thumbnail
我或許不能像太陽那般炙熱,但我成為你靜夜中耀眼的月光,照亮你的夢想 這是我為人錄音的內心話
打工遊學的路程總是充滿了憧憬和挑戰,而其中最令人掙扎的往往是金錢問題。本文將揭示那些從零開始的加拿大打工遊學費用。
前言:本文為綜合了《日經亞洲》雜誌四篇報導的重要資訊所寫成,在台積電的亞利桑那新廠剛舉行設備裝設完成慶祝典禮,美國總統和美國晶片業兩大巨頭超微和輝達的台裔CEO都親臨現場發表賀詞時,在這場重組全球晶片供應鏈的無硝煙戰爭中處於落後的前冠軍日本、從零開始的新玩家印度還有原本在過去十年急起直追卻接連被兩任
如果人生可以隨時重來,我當然會勇於各種冒險的投資方法,甚至當沖期權全來又有什麽關係呢? 可是... 如果你辛苦六年的積累,可以在三天內就因為FTX倒閉就消失,萬一原本明年你打算結婚該怎麽辦? 人生不是不能失敗,只是每一次失敗就等於失去一些機會成本,你在30歲不幸資產歸零,你覺得再花六年還有同樣
Thumbnail
先說 !這是一個系列的學習手札,所有內容都是我邊學邊做的,有任何錯誤歡迎指教,希望大家能一起進步 本章能學到了 SQL 是什麼,它們的分類,以及Keys 的觀念
Thumbnail
如果你想以一個「創作者」的身分開始你的YOUTUBE旅程,你必須知道「堅持」是一樣多麼不可丟失的東西,也因為這樣你必須要有足夠的熱情才能去支持自己面對現實的壓力。我相信絕對不限於創作者,各行各業多多少少都需要這樣的特性。
Thumbnail
在宴會端盤子的時候,Erik 見到了一位婚禮攝影師,深深的被他工作的身影給吸引,開始考慮走上影像的路。那時候高中還沒畢業的他,毅然放棄報考大學,他買了幾本攝影相關書籍自學,一次打三份工存錢買相機,邊學習邊打工去維持生活開銷。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
理財對於許多人來說似乎是一個艱深的主題,但事實上,每個人都可以從零開始學習如何有效地管理自己的財務。無論你是一個年輕的上班族、學生,或是已經步入退休階段的人,理財的基本原則都能夠幫助你更好地掌握自己的金錢,實現財務目標。這篇文章將為理財小白提供一個簡單的指南,以幫助你開始建立堅實的理財基礎。 瞭解
Thumbnail
這篇會從註冊>介面>使用,一次性完整介紹Leonardo.Ai,會持續追蹤官方的更新進度進行修正。(最後更新時間:2023/08/30)
Thumbnail
我或許不能像太陽那般炙熱,但我成為你靜夜中耀眼的月光,照亮你的夢想 這是我為人錄音的內心話
打工遊學的路程總是充滿了憧憬和挑戰,而其中最令人掙扎的往往是金錢問題。本文將揭示那些從零開始的加拿大打工遊學費用。
前言:本文為綜合了《日經亞洲》雜誌四篇報導的重要資訊所寫成,在台積電的亞利桑那新廠剛舉行設備裝設完成慶祝典禮,美國總統和美國晶片業兩大巨頭超微和輝達的台裔CEO都親臨現場發表賀詞時,在這場重組全球晶片供應鏈的無硝煙戰爭中處於落後的前冠軍日本、從零開始的新玩家印度還有原本在過去十年急起直追卻接連被兩任
如果人生可以隨時重來,我當然會勇於各種冒險的投資方法,甚至當沖期權全來又有什麽關係呢? 可是... 如果你辛苦六年的積累,可以在三天內就因為FTX倒閉就消失,萬一原本明年你打算結婚該怎麽辦? 人生不是不能失敗,只是每一次失敗就等於失去一些機會成本,你在30歲不幸資產歸零,你覺得再花六年還有同樣
Thumbnail
先說 !這是一個系列的學習手札,所有內容都是我邊學邊做的,有任何錯誤歡迎指教,希望大家能一起進步 本章能學到了 SQL 是什麼,它們的分類,以及Keys 的觀念
Thumbnail
如果你想以一個「創作者」的身分開始你的YOUTUBE旅程,你必須知道「堅持」是一樣多麼不可丟失的東西,也因為這樣你必須要有足夠的熱情才能去支持自己面對現實的壓力。我相信絕對不限於創作者,各行各業多多少少都需要這樣的特性。
Thumbnail
在宴會端盤子的時候,Erik 見到了一位婚禮攝影師,深深的被他工作的身影給吸引,開始考慮走上影像的路。那時候高中還沒畢業的他,毅然放棄報考大學,他買了幾本攝影相關書籍自學,一次打三份工存錢買相機,邊學習邊打工去維持生活開銷。