2019-05-28
python中的異常處理
需求:
當程式遇到問題時不讓程式結束,而越過錯誤繼續向下執行
try......except.....else格式:try
:語句t
except
錯誤表示碼 as e:
語句2.......
except
錯誤表示碼 as e:
語句nelse
:語句e
注意:
else語句可有可無
作用:
用來檢測try語句塊中的錯誤,從而讓except語句捕獲錯誤資訊並處理
邏輯:
當程式執行到try-except-else語句時
1、如果當try語句執行出現錯誤,會匹配第乙個錯誤碼,如果匹配上就執行對應的"語句"
2、如果try語句執行出現錯誤,沒有匹配的異常,錯誤將會將提交到上一層的try語句。或者到程式的最上層。
3、如果try語句執行沒有出現錯誤,執行else下的語句else/得存在
使用execpt而不使用任何的錯誤型別
使用execpt帶著多種異常
try:pass
except
(nameerror,zreodivisionerror)
print("
出現了nameerror或zreodivisionerror
")
特殊的一些錯誤:
1、錯誤其實就是class(類),所有的錯誤都繼承自baseexception,所以在捕獲的時候,它不回來該型別的錯誤,還把子類一網打盡。
2、跨越多層呼叫,main呼叫了func2,func2呼叫了func1,func1出現了錯誤,這是只要main捕獲到了就可以處理。例如以下:
deffunc1(num):
print(1/num)
deffunc2(num):
func1(num)
defmain():
func2(2)
main()
寫**時內出現錯誤,怎麼檢測異常
try.....except.......finally
格式:
try:語句1
except
錯誤表示碼 as e:
語句2.......
except
錯誤表示碼 as e:
語句nfinally
:語句f
作用:語句1無論是否有錯誤都將繼續執行最後的語句f
斷言:
deffunc(num,div):
assert(div !=0),"
div不能為0
"return num/div
print(func(10,0))
常見錯誤:
name error 變數沒定義systax error 語法錯誤
io error 檔案錯誤
zero divisionerror 10/0,除零錯誤
value error 值錯誤,例如a =int(『aa』)
keyboard interrupt 強制終止程式產生,ctrl+c強制終止程式執行
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...
python異常舉例 Python異常處理
1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...
python異常處理
當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...