異常處理
捕捉異常可以使用try/except語句。
try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常資訊並處理。
如果你不想在異常發生時結束你的程式,只需在try裡捕獲它。
語法:
以下為簡單的try….except…else的語法:
try:
《語句》 #執行別的**
except
《名字》:
《語句》 #如果在try部份引發了'name'異常
except
《名字》,《資料》:
《語句》 #如果引發了'name'異常,獲得附加的資料
else:
《語句》 #如果沒有異常發生
try的工作原理是,當開始乙個try語句後,python就在當前程式的上下文中作標記,這樣當異常出現時就可以回到這裡,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。
如果當try後的語句執行時發生異常,python就跳回到try並執行第乙個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
如果在try後的語句裡發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程式的最上層(這樣將結束程式,並列印預設的出錯資訊)。
如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。
示例:
#定義乙個判定是否字串是否是數字的函式
defstrisnumjudge
(value):
valuestr = str(value)
if valuestr.isdigit() is
true:
# 僅僅針對整型
return
true
else:
try:
#針對浮點型的嘗試
float(valuestr)
except(valueerror):
return
false
except(typeerror):
return
false
else:
return
true
異常的引數
'''異常的父類,可以捕獲所有的異常'''
"0不能被除"
else:
'''保護不丟擲異常的**'''
"沒有異常"
finally:
"最後總是要執行我"
try:
code
#需要判斷是否會丟擲異常的**,如果沒有異常處理,python會直接停止執行程式
except: #這裡會捕捉到上面**中的異常,並根據異常丟擲異常處理資訊
#except exceptionname,args:
#同時也可以接受異常名稱和引數,針對不同形式的異常做處理
code #這裡執行異常處理的相關**,列印輸出等
else: #如果沒有異常則執行else
code #try部分被正常執行後執行的**
finally:
code #退出try語句塊總會執行的程式
python小筆記 函式
概述 在乙個完整專案中,某些功能會反覆的使用。那麼會將功能封裝成函式,當我們要使用功能時,直接呼叫函式即可 本質 函式就是對功能的封裝 格式 def 函式名 引數列表 語句return 表示式 def 函式 塊以def關鍵字開始 函式名 遵循識別符號規則 引數列表 引數1,引數2.引數n 任何傳入函...
Python學習筆記之try語句的幾種用法
try 下面的子句要是沒有出錯不會去執行except 發現異常則會執行except後面的語句 乙個try可以對應多個except 但是只有乙個except會被執行 try s 1 1 int abc f open tet.txt print f.read f.close except oserror...
python函式小測
1.程式設計實現9 9乘法表 1x1 1 2x1 2 2x2 4 for i in range 1,10 for j in range 1,i 1 print dx d d j,i,i j end print 2.用函式實現求100 200裡面所有的素數 def isprime a 100,b 20...