當程式在執行過程**現的一些錯誤,或者語法邏輯出現問題,直譯器此時無法繼續正常執行了,反而出現了一些錯誤的提示,這就是異常(錯誤**或者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類是...