技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
29
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
29
篇
Day29- 例外處理 (Exception)
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-15 17:33:06
4646 瀏覽
分享至
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系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22195
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請問內網IP如何轉外網IP?
兩端防火牆使用IPSEC互PING之問題
如何寫公式才能利用excel 觸發一個數據時傳送一個訊息給 自已的line呢?有沒有可以用其它方式,來取代line notify 的方法,因為line 開始收費
新手學習編程,哪種編程語言好?
Windows7升級Windows10後網路功能異常
python爬蟲 動態生成網頁104人力銀行
區域網路問題提問
vmware 虛擬機(windows)裡顯示使用容量與實際檔案容量不符合
防火牆與DNS請教
2台 Hyper-V 2008 R2 叢集主機(硬體規格相同), 如何加入一台新機? 謝謝.
熱門回答
請問內網IP如何轉外網IP?
新手學習編程,哪種編程語言好?
防火牆與DNS請教
Fortigate 50B 重置密碼
區域網路問題提問
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day32]
每日一篇學習筆記 直到我做完專題 :( [Day33]
每日一篇學習筆記 直到我做完專題 :( [Day34]
每日一篇學習筆記 直到我做完專題 :( [Day35]
隨時切換 WINDOWS 右鍵新舊版選單
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}