Python異常處理

2022-03-23 06:06:10 字數 1896 閱讀 4549

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捕獲到了就可以處理。例如以下:

def

func1(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

斷言:

def

func(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...