iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

Python 學習整理系列 第 19

Day 19. Python 例外處理

  • 分享至 

  • xImage
  •  

重點

  • 在預知可能產生錯誤的情況下,如何運用例外處理避免程式因錯誤而中斷

為什麼要學例外處理

  • 例外處理可避免程式出錯
    • 使用者輸入可能與預期不符
    • 預想到程式可能會發生錯誤

例外處理的使用方式 :

try:

    欲嘗試執的程式碼

except:

    當嘗試執行的程式碼失敗時,欲執行的程式碼

例外處理結構外程式碼
  • 在 try - except 的結構下,程式會首先執行 try 底下的程式碼
    • 在執行成功時,會跳出 try - except 的結構
    • 在執行失敗時,會跳出 except 底下的程式碼
score1 = 1
score2 = 10

try:
    print(int(score1)+int(score2))
except:
    print('請輸入阿拉伯數字')
print('繼續執行')
# 11
# 繼續執行
score1 = '三'
score2 = '四'

try:
    print(int(score1)+int(score2))
except:
    print('請輸入阿拉伯數字')
print('繼續執行')
# 請輸入阿拉伯數字
# 繼續執行

例外處理的使用方式:

try:

    欲嘗試執行的程式碼

except 例外名稱:

    當嘗試執行的程式碼失敗時,欲執行的程式碼

例外處理結構外程式碼
  • 我們可以指定 except 去接住特定的例外,並做對應的處理
score1 = '五'
score2 = '十'

try:
    print(int(score1)/score2)
except ValueError:
    print("請輸入阿拉伯數字")
except ZeroDivisionError:
    print('除數不可為零')
print('繼續執行')
# 請輸入阿拉伯數字
# 繼續執行
score1 = 5
score2 = 0

try:
    print(int(score1)/score2)
except ValueError:
    print("請輸入阿拉伯數字")
except ZeroDivisionError:
    print('除數不可為零')
print('繼續執行')
# 除數不可為零
# 繼續執行

表格整理:

例外類型 說明
SyntaxError 語法錯誤
NameError 變數名稱錯誤
TypeError 類型錯誤
ValueError 值錯誤
IndentationError 縮排錯誤
IndexError 索引值錯誤
ZeroDivisionError 除數為零的錯誤

參考資料:

Yes


上一篇
Day18. Python 字典
下一篇
Day 20. Python 檔案
系列文
Python 學習整理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言