Python之異常及異常處理

2021-09-30 16:28:02 字數 1176 閱讀 9970

在python中,萬物皆物件.所以異常在python中也是物件.當程式無法正常執行

時,就會丟擲乙個異常,程式就會執行回溯(traceback)來終止程式.但有時候這並

不是我們想要看到的,程式需要繼續執行下去,這時候就需要對異常進行處理.

捕捉異常可以使用try/except語句。

try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常資訊並處理。

如果你不想在異常發生時結束你的程式,只需在try裡捕獲它。

try的工作原理是,當開始乙個try語句後,python就在當前程式的上下文中作標記,這樣當異常出現時就可以回到這裡,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。

如果當try後的語句執行時發生異常,python就跳回到try並執行第乙個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。

如果在try後的語句裡發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程式的最上層(這樣將結束程式,並列印預設的出錯資訊)。

如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。

try:

《語句》 #執行別的**

except 《名字》:

《語句》 #如果在try部份引發了'name'異常

except 《名字》,《資料》:

《語句》 #如果引發了'name'異常,獲得附加的資料

else:

《語句》 #如果沒有異常發生

raise:手動丟擲乙個通用的異常型別(exception)。raise關鍵字後跟異常的名稱,異常名稱能夠標識出異常類的物件。執行raise語句時,python會建立指定異常類的物件,還能夠指定對異常物件進行初始化的引數,引數也可以為由若干引數組成的元組。一旦執行raise語句,程式就會被終止。

格式:raise [exceptiontype[,argument][,traceback]]

def functionname( level ):

if level < 1:

raise exception("invalid level!", level)

python之異常處理 Python之異常處理

異常物件 請大家執行如下 a 100 0 print a 就會發現直譯器顯示如下的錯誤提示 traceback most recent call last file x.py line 1,in a 100 0 zerodivisionerror division by zero 大家要學會看直譯器...

Python 異常及處理

什麼是異常?異常即是乙個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在python無法正常處理程式時就會發生乙個異常。異常是python物件,表示乙個錯誤。當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。異常處理 捕捉異常可以使用try except語...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...