python中的異常詳解

2021-10-08 17:00:31 字數 2104 閱讀 9822

當程式在執行過程**現的一些錯誤,或者語法邏輯出現問題,直譯器此時無法繼續正常執行了,反而出現了一些錯誤的提示,這就是異常(錯誤**或者bug)

使用try—except語法

try

: 可能會出現異常的**

except

: 如果try裡面的哪行**出現了異常會直接跳入這個裡面執行

語法
try

: 可能會出現異常的**

except 可能會出現的異常的型別:

如果捕獲到異常是指定的這個型別的執行**

注意

如果執行的**的異常型別和要捕獲的異常型別不一致則無法捕獲異常語法

try

: 可能會出現異常的**

except

(指定的異常型別1,指定的異常型別2,.

..)as 變數:

print

(變數)

所有異常類的父類都是exception類

try

: 可能出錯的**塊

except exception as result:

print

(result)

else表示的是如果沒有捕獲到異常則需要執行的**

try

: 可能出錯的**塊

except exception as result:

print

(result)

else

:print

("恭喜你沒有bug"

)

finnally表示最終結果,不論**是否捕獲到異常(try中的**執行之後不管是進入了except還是else)最終都要進入finnally執行

try

: a =

10 b =

10print

(a / b)

print

("1"

+"2"

)except exception as result:

print

(result)

else

:print

("恭喜你沒有bug"

)finally

:print

("程式順利執行完"

)

try

: 可能出錯的**塊

try: 可能出錯的**塊

except

:print

("程式被意外終止1"

)except

:print

("程式被意外終止2"

)finally

:return res

在python中一般丟擲的異常的語法是異常類物件,這些異常類物件是python提前封裝好的

例如:

class

ageinputerror

(exception)

:def

__init__

(self, age)

: self.age = age

self.minage =

0def

__str__

(self)

:return f"你輸入的年齡是,不能小於"

defmain()

:try

: age =

int(

input

("請輸入年齡:"))

if age <0:

# raise 關鍵字是返回乙個異常

raise ageinputerror(age)

except exception as res:

print

(res)

else

:print

("年齡無誤"

)finally

:print

("註冊完成"

)main(

)

注意:

python中的raise關鍵字用於引發乙個異常,

Python 異常詳解

類名 描述 exception 幾乎所有的異常類都是從它派生而來 attributeerror 引用屬性或給它複製失敗時引發 oserror 作業系統不能執行指定的任務 如開啟檔案 時引發 indexerror 使用序列中不存在的索引時引發,為lookuperror的子類 keyerror 使用對映...

python中異常語句 python 異常

導航 python的異常分為兩種,1 語法錯誤,在python直譯器的語法檢測中不通過不能執行 2 異常,python程式執行期檢測到的錯誤被稱為異常。在沒有做異常處理時,將終止程式並提示異常資訊,如 字串轉換為數字時的型別轉換異常,檔案讀取時的檔案不存在異常,網路鏈結時主機不可達異常 等。當pyt...

python中的異常

exception類是最常用的異常類,該類包括standarderror,stopiteration,generatorexit,warning等異常類.standarderror類是python的錯誤異常,如果程式中出現邏輯上的錯誤,將引發該異常.例如除數為0的異常。standarderror類是...