Python學習筆記6-錯誤處理try...except...

更新 發佈閱讀 5 分鐘
raw-image


前言

大家好,歡迎來到我的Python學習筆記,今天我要跟大家分享的主題是錯誤處理,也就是如何在遇到事前就知道可能會發生的錯誤時,能夠有效地處理並繼續執行。


簡單介紹

錯誤處理是程式設計中非常重要的一個環節,因為我們無法保證程式在任何情況下都能夠正常運作,有時候可能會因為使用者的輸入、系統的資源、外部的因素等等,造成程式出現異常或錯誤。

如果我們沒有預先處理這些錯誤,那麼程式就會直接崩潰或停止運作,這樣不僅會影響使用者的體驗,也會導致資料的遺失或損壞。

因此,我們需要在程式中加入一些機制,讓我們能夠捕捉到錯誤發生的時刻,並且根據不同的錯誤類型,做出相應的處理或提示。這樣就可以讓程式更加完整和友善,也可以提高程式的品質和可靠性。


try... except...

在Python中,我們可以使用try...except...語句來實現錯誤處理的功能。try...except...語句的基本結構如下:

try:
# 嘗試執行可能會出錯的程式碼
except:
# 當出現錯誤時,執行這裡的程式碼

try區塊中是我們要嘗試執行的程式碼,如果這裡沒有出現任何錯誤,那麼程式就會正常執行並跳過except區塊。

但是如果這裡出現了錯誤,那麼程式就會立刻停止執行try區塊中剩下的程式碼,並轉移到except區塊中去執行。

except區塊中是我們要對錯誤做出的處理或提示,例如打印出錯誤訊息、記錄日誌、重新請求資源、結束程式等等。

讓我們來看一個簡單的例子:

請求使用者輸入一個數字
num = input("請輸入一個數字:")

try:
# 將使用者輸入的字串轉換成整數
num = int(num)
# 計算該數字的平方
square = num ** 2
# 打印結果
print(num, "的平方是", square)
except:
# 如果出現錯誤,打印提示訊息
print("請輸入有效的數字!")

在這個例子中,我們要求使用者輸入一個數字,然後計算該數字的平方並打印出來,但是如果使用者輸入了非數字的字串,例如"abc",那麼在執行int(num)的時候,就會出現ValueError的錯誤,這時程式就會跳到except區塊中,並打印出"請輸入有效的數字!"的提示訊息, 這樣我們就可以避免程式因為錯誤而崩潰,並且給使用者一個友善的反饋,當然,我們也可以在except區塊中加入其他的處理方式,例如讓使用者重新輸入、結束程式等等。


指定特定錯誤類型

在try...except...語句中,我們還可以指定不同的錯誤類型,並對不同的錯誤做出不同的處理。例如:

# 請求使用者輸入一個數字
num = input("請輸入一個數字:")

try:
# 將使用者輸入的字串轉換成整數
num = int(num)
# 計算該數字的平方
square = num ** 2
# 打印結果
print(num, "的平方是", square)

except ValueError:
# 如果出現值錯誤,打印提示訊息
print("請輸入有效的數字!")

except ZeroDivisionError:
# 如果出現除以零錯誤,打印提示訊息
print("不能除以零!")

except Exception as e:
# 如果出現其他錯誤,打印錯誤訊息
print("錯誤:", e)

在這個例子中,我們在except後面加上了錯誤類型,例如ValueError、ZeroDivisionError等等,這樣就可以讓程式根據不同的錯誤類型,執行不同的except區塊,如果沒有指定錯誤類型,那麼程式就會執行最後一個except區塊,這裡我們用了Exception來捕捉所有的錯誤類型,並用e來表示錯誤物件,然後打印出錯誤訊息。

這樣我們就可以更細緻地處理不同的錯誤情況,並給使用者更清楚的提示或解決方案。


以上就是今天要跟大家分享的內容:錯誤處理,希望大家能夠通過這篇文章,學習到如何在Python中使用try...except...語句來處理錯誤,感謝大家的閱讀和支持!


感謝您閱讀本篇文章!我們很高興您能從中獲得一些有用的資訊。如果您喜歡這篇文章,請不要吝嗇您的支持,您可以:

  1. 按下愛心:這樣我們就知道您對這篇文章的喜愛程度,也可以讓更多人看到它。
  2. 分享文章:如果您認為這篇文章也能幫助其他人,請把它分享出去。
  3. 追蹤我們:如果您想持續收到更多類似的內容,請點擊追蹤按鈕。
  4. 支持我們:如果您願意,您也可以成為我們的贊助者。
留言
avatar-img
留言分享你的想法!
avatar-img
好奇的小仙人掌的沙龍
46會員
24內容數
「Python學習筆記:輕鬆掌握程式設計」是一個豐富的Python學習資源,幫助你從零基礎起步,逐步掌握這個強大的程式語言。這份筆記涵蓋了變數和資料型別、基本運算符、輸入和輸出,並深入探討條件判斷、迴圈和函式等核心主題。此外,你將學習列表、字典和文件操作等常用資料結構,並瞭解物件導向程式設計的概念和遞迴演算法的基礎。
2023/07/21
歡迎回到我的學習筆記,今天我想分享一下在python中幾個反轉字串的作法,反轉字串的意思就像是將文字從「我愛你」變成「你愛我」。 談到反轉字串時,有幾種不同的方法,寫法如下: 以下反轉字串是寫成函式的樣子 1. 使用迴圈: 這是一個傳統的方法,使用迴圈來反轉字串。
Thumbnail
2023/07/21
歡迎回到我的學習筆記,今天我想分享一下在python中幾個反轉字串的作法,反轉字串的意思就像是將文字從「我愛你」變成「你愛我」。 談到反轉字串時,有幾種不同的方法,寫法如下: 以下反轉字串是寫成函式的樣子 1. 使用迴圈: 這是一個傳統的方法,使用迴圈來反轉字串。
Thumbnail
2023/07/17
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
Thumbnail
2023/07/17
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
Thumbnail
2023/07/12
Python time模組是一個提供時間相關功能的模組,可以用來獲取當前時間、格式化時間、延遲執行、測量執行時間等,今天將介紹time模組的常用函數和用法。   1. 獲取當前時間 time模組提供了多種獲取當前時間的函數,例如: time.time():返回當前時間的時間戳,即從1970
Thumbnail
2023/07/12
Python time模組是一個提供時間相關功能的模組,可以用來獲取當前時間、格式化時間、延遲執行、測量執行時間等,今天將介紹time模組的常用函數和用法。   1. 獲取當前時間 time模組提供了多種獲取當前時間的函數,例如: time.time():返回當前時間的時間戳,即從1970
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
為什麼要學習撰寫程式? 使用別人所撰寫的軟體時,總是會受限於別人所提供的特定功能,但是當你遇到了一些工作是目前現有的軟體都幫不上忙的情況該怎麼辦? 如果你會撰寫程式,這時候就可以自己創造一個專為解決此工作的程式;換句話說,撰寫程式讓你擁有控制電腦的力量。 安裝 Python 首先必須在電腦
Thumbnail
為什麼要學習撰寫程式? 使用別人所撰寫的軟體時,總是會受限於別人所提供的特定功能,但是當你遇到了一些工作是目前現有的軟體都幫不上忙的情況該怎麼辦? 如果你會撰寫程式,這時候就可以自己創造一個專為解決此工作的程式;換句話說,撰寫程式讓你擁有控制電腦的力量。 安裝 Python 首先必須在電腦
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),如果未被處理,它們會導致程式終止。
Thumbnail
進入選擇敘述語法了。常用的選擇敘述語法,弄懂了就運用自如。
Thumbnail
進入選擇敘述語法了。常用的選擇敘述語法,弄懂了就運用自如。
Thumbnail
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
Thumbnail
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
Thumbnail
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
Thumbnail
我們探討了while迴圈的使用,不同於for迴圈,while迴圈以條件式判斷為基礎,而非限定重複次數。我們介紹了使用break語句強制結束迴圈,以及使用continue語句跳過特定程式碼並返回迴圈開頭,同時,我們提及了無窮迴圈的概念,強調了在迴圈中必須更改迴圈變數的值,以避免無窮迴圈的發生。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News