# print('hello')
# try:
# # try中放置的是有可能出現錯誤的**
# print(10/0)
# except:
# # except中放置的是出錯以後的處理防暑
# print('哈哈哈,出錯了~~~')
# else:
# print('程式正常執行沒有錯誤')
# print('你好')
# print(10/0)
def fn()
:print
('hello fn'
)print
(a)print(10
/0)def fn2()
:print
('hello fn2')fn
()def fn3()
:print
('hello fn3'
)fn2()
fn3(
)
print
('異常出現前'
)l =
try:
# print(c)
# l[10]
# 1+'hello'
print(10
/0)except nameerror:
# 如果except後不跟任何的內容,則此時它會捕獲到所有的異常
# 如果在except後跟著乙個異常的型別,那麼此時它只會捕獲該型別的異常
print
('出現 nameerror 異常'
)except zerodivisionerror:
print
('出現 zerodivisionerror 異常'
)except indexerror:
print
('出現 indexerror 異常'
)# exception 是所有異常類的父類,所以如果except後跟的是exception,他也會捕獲到所有的異常
# 可以在異常類後邊跟著乙個 as xx 此時xx就是異常物件
except exception as e :
print
('未知異常'
,e,type
(e))
finally :
print
('無論是否出現異常,該子句都會執行'
)print
('異常出現後'
)
# 也可以自定義異常類,只需要建立乙個類繼承exception即可
class
myerror
(exception)
: pass
def add
(a,b)
: # 如果a和b中有負數,就向呼叫處丟擲異常
if a <
0or b <0:
# raise用於向外部丟擲異常,後邊可以跟乙個異常類,或異常類的例項
# raise exception
# 丟擲異常的目的,告訴呼叫者這裡呼叫時出現問題,希望你自己處理一下
# raise exception('兩個引數中不能有負數!')
raise myerror
('自定義的異常'
)
# 也可以通過if
else來代替異常的處理
# return none
r = a + b
return r
print
(add(-
123,
456)
)
python基礎之異常
語法 try 嘗試執行的 except 出現錯誤的處理 try 嘗試執行的 except 錯誤型別1 針對錯誤型別1,對應的 處理 except 錯誤型別2,錯誤型別3 針對錯誤型別2和3,對應的 處理 except exception as result print 未知錯誤 s result e...
Python基礎之異常
異常是程式執行時發生錯誤的訊號,每當發生讓python不知所措的錯誤時,都會建立乙個建立乙個異常物件。若異常未處理,程式將停止執行,並顯示乙個traceback n elk n 儲存的是 elk 再將它轉換成int時,將丟擲乙個異常 int n 以下為執行結果 attributeerror 試圖訪問...
python基礎之異常處理
引入 程式執行時,難免出現bug,當出現bug時,使用者可能很難明白那一堆報錯 到底是個什麼東西,為了讓使用者能更清楚知道錯誤原因或者直接對使用者將此錯誤遮蔽,異常處理就應運而生。格式 try 輸入要執行的 pass except nameerror as err 將該型別的錯誤捕獲 pass ex...