技術文章
技術問答
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
29
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
29
篇
Day29- 例外處理 (Exception)
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-15 17:33:06
5973 瀏覽
分享至
Part1.例外處理簡介
學習目標
何謂「例外」(Exception)?
為什麼需要有「例外」機制?
Python 例外機制的長相
何謂「例外(Exception)」
定義
程式執行過程中,足以中斷程式執行的錯誤
如果沒有「例外處理」機制…
您或許會用 if ~ else 處理…
Python 的例外處理機制…
重點整理
何謂「例外」(Exception)?
任何足以中斷程式執行的錯誤
為何需要有「例外」機制?
為了就算發生錯誤,程式控制權仍在我們手上,不致於中斷執行
為了提供容易了解的錯誤訊息,給不知情的使用者
為了發生錯誤後,能讓使用者有修正的機會
Python 例外機制的長相
try ~ except ~ else 語法
Part2.例外捕捉
學習目標
Python 例外處理的語法
常見的例外有哪些?
例外處理範例
例外處理語法
Python 常見的例外類型
參考官方網站說明:
Built-in Exceptions
重點整理
Python 例外處理的語法
try ~ except ~ else ~ finally
try:主程式區(監視區)
except:例外處理區
else:無錯誤區
finally:收尾程式碼區
常見的例外有哪些?
詳見:
Built-in Exceptions
Part3.自訂例外
學習目標
自訂例外的步驟
自訂例外的範例
自訂例外步驟
為你的例外建立一個類別,並繼承 Exception 類別
如:class SalaryException(Exception)
在需要丟出該例外類別的場合,使用 raise 指令
如:raise SalaryException()
在主程式攔截該例外
用 try ~ except 攔截 SalaryException
自訂例外的範例(取自老師上課範例)
限制加薪幅度不得大於 5%,否則丟出例外警告之
先開啟「物件導向」章節的 HRSystem 專案的 employee.py 檔案
建立繼承 Exception 的 SalaryException 類別
新增 .raiseSalary() 方法
主程式:攔截 SalaryException
重點整理
自訂例外步驟
建立一個例外類別,並使該類別繼承 Exception。
在需要丟出該例外類別的場合,使用 raise 指令
在主程式使用 try ~ except 攔截該例外
留言
追蹤
檢舉
上一篇
Day28-物件導向設計封裝部分:建構函數(Constructor)
下一篇
Day30-總結30 天
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19837
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
執行BAT開啟teams的語法
Fortigate Remote Access
關於Aruba Wi-Fi (thin AP) controller設定
Seeed XIAO ESP32-S3 透過 UART (921600) 無法發送 AT 指令到 Grove Vision AI V2 (Himax WE2)
熱門回答
執行BAT開啟teams的語法
Fortigate Remote Access
關於Aruba Wi-Fi (thin AP) controller設定
熱門文章
用 Claude AI 做了一個開源的 IT 故障排除工具,華文圈應該很稀缺
IT Diagnostic Agent 開發日誌 #1 為什麼我要做一個 IT Diagnostic Agent?
會議開完然後呢?我用 NotebookLM + MantisBT 打造「說到做到」的自動化追蹤流
IT Diagnostic Agent 開發日誌 #2 為什麼我原本不打算公開這個工具?
不只是 AI 幫你寫程式 — — OpenAI Codex 在做的是另一件事
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}