1、異常的概念
**執行產生錯誤,無法繼續
2、異常產生
3、異常捕獲和處理
while
true
: num =
input
('請輸出乙個數字:'
)print
('100 / %s = %s'
%(num,
100/
int(num)
))
(1)【已知】事前處理,if,知道對應的條件
(2)【已知】事後處理,try :except zerodivisionerror:,發現錯誤後提示【只能捕獲一種】
(3)【已知】事後處理,try :except zerodivisionerror: except valueerror:,發現錯誤後提示【捕獲多種】
while
true
: num =
input
('請輸出乙個數字:'
)# print('100 / %s = %s' % (num,100/int(num)))
try:
print
('100 / %s = %s'
%(num,
100/
int(num)))
except zerodivisionerror:
print
('請不要輸入0,重新輸入!'
)except valueerror:
print
('請不要輸入數值!'
)#列印異常詳細內容
except valueerror as err1:
print
('請不要輸入數值!'
,err1)
#無論什麼異常,都這樣丟擲來
except
:print
('無論什麼異常,都提示這個'
)except exception:
print
('無論什麼異常,都提示這個'
)except exception as err2:
print
('無論什麼異常,都提示這個'
,err2)
#列印更加詳細的報錯異常,可以精確到某行**
import traceback
while
true
: num =
input
('請輸出乙個數字:'
)try
:print
('100 / %s = %s'
%(num,
100/
int(num)))
except
:print
('無論什麼異常,都提示這個'
,traceback.format_exc(
))
(4)finally語句,不管是否異常,都要執行的一段**,一定放最後
(5)else必須跟在所有的except**塊後面
while
true
: num =
input
('請輸出乙個數字:'
)try
:print
('100 / %s = %s'
%(num,
100/
int(num)))
except
:print
('error!'
)else
:print
('無異常時候執行'
)finally
:print
('不管是否異常,均要執行的**!'
)
#運用場景:
檢查出問題,並提示對應的問題
try
: fo =
open
('***'
)except
:print
('請檢查檔案路徑'
)
遍歷所有內容,反饋出哪些有問題。例如執行老的測試用例,核對哪些不能用了
4、異常呼叫棧
5、自定義
#(1)繼承自exception父類
class
nametoolongerror
(exception)
:pass
class
nametooshorterror
(exception)
:pass
#(2)使用raise丟擲
# raise environmenterror
#(3)丟擲異常用在
#->當函式裡面出現錯誤,**無法繼續進行執行的時候
#->高數上層呼叫**,什麼樣執行錯誤產生了
#->有上層呼叫**決定如何處理
definputname()
: name =
input
('請輸入使用者名稱:')if
len(name)
>10:
raise nametoolongerror
elif
len(name)
<5:
raise nametooshorterror
try:
inputname(
)except nametooshorterror:
print
('短'
)except nametoolongerror:
print
('長'
)
6、assert斷言
# tel = input('請輸入手機號,11位')
# assert len(tel) == 11,'手機位數異常'
Python 異常 學習筆記
python 標準異常總結 try 和 try finally 語句 try 下面是檢測範圍,如發生異常停止在第乙個異常的位置 fh open testfile w fh.write 這是乙個測試檔案,用於測試異常 except oserror as reason 下面是出現異常後輸出的 print...
Python學習筆記 異常
1 異常概念 程式在執行是,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是異常 程式停止執行並且提示錯誤資訊這個動作,我們稱之為 丟擲 raise 異常 程式開發是,很難將所有的特殊情況都處理的面面俱到,通過一異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩...
python學習筆記 異常
baseexception systemexit keyboardinterrupt generatorexit exception stopiteration standarderror buffererror arithmeticerror floatingpointerror overflow...