十 Python 異常捕獲

2021-10-01 11:32:45 字數 2231 閱讀 5915

用於捕獲**執行**現的錯誤,保證**的流暢度

try

: 正常程式

except

: 丟擲錯誤時執行的**塊

常規

while

true

:try

: ipt =

input

("請輸入:"

) i =

float

(ipt)

except exception as e:

# e = exception()

''' e 是 exception物件,物件中封裝了錯誤資訊

上述**如果出錯,自動執行當前塊的內容

'''print

(e) i =

1print

(i)

python中檢視所有錯誤資訊

help

(__builtin__)

異常捕獲2

示例:

try

:int

('a'

)except valueerror as e:

# e = valueerror()

print

("valueerror"

,e)except zerodivisionerror as e:

print

("zerodivisionerror"

,e)except exception as e:

print

(e)else

:print

("沒有異常,請執行我"

)finally

:print

("不管出不出錯,都要執行"

)

tips:

as 能夠用來重新命名

以上細分的錯誤都是exception的子類

細分錯誤的作用:為了乙個種類的錯誤記錄日誌

為了避免程式最後報錯,在最後可以用到exception捕獲異常

如果有錯,執行except裡的**塊

如果沒有錯誤,執行else

finally:不管處不出錯,肯定執行

自定義異常 raise excepting(msg)

try

:raise exception(

"我生氣了"

)except exception as e:

print

(e)def

demo()

:return

false

defdemo1()

:try

:int

('a'

) res = demo()if

not res:

#開啟檔案,寫日誌

raise exception(

"demo中有異常"

)except exception as e:

print

(e)

tips:

要有自定義模組

捕獲自定義的異常

class

oldamyerror

(exception)

:def

__init__

(self,msg)

: self.error_info = msg

def__str__

(self)

:return self.error_info

# err = oldamyerror("咖啡說我是胖子")

# print(err)

try:

# 丟擲錯誤資訊

raise oldamyerror(

"咖啡說我是胖子"

)# err = oldamyerror("咖啡說我是胖子")

except oldamyerror as err:

print

(err)

assert 條件

tips:

如果條件成立,**繼續往下執行

如果條件不成立,直接丟擲異常

強制使用者服從,可捕獲,但是不捕獲

print

(123

)assert

2.0==

2# assertionerror

print

(456

)

python異常捕獲 如何捕獲Python中的異常

python 提供了try except語句捕獲並處理異常,該異常處理語句的基本語法結構如下 try 可能產生異常的 塊 except error1,error2,as e 處理異常的 塊1 except error3,error4,as e 處理異常的 塊2該格式中,括起來的部分可以使用,也可以省...

python異常捕獲

python的異常處理如c c 的結構一樣。python用try.except.c c 則用try.catch.並不難理解。在對具體錯誤的獲取則有點不同,主要是語法的差異上。c 在catch後可生成相應乙個異常的類,然後可通過類物件獲取相關的錯誤資訊。而python則不同,它在獲取錯誤資訊有點奇怪,...

Python捕獲異常

如果感覺 可能會出現異常,可以通過如下兩種方法捕獲異常。一 捕獲所以異常 try statement1 statement2 except exception,e print exception,e 二 通過trace模組檢視 import traceback try statement1 stat...