Python 異常處理

2021-09-25 20:35:40 字數 1396 閱讀 5338

異常處理的基本結構如下:

try

: 可能發生異常的**

except

: 異常處理**

else

: 沒有發生異常時執行的**

else部分可以省略,如果使用這個子句,那麼必須放在所有的except子句之後。這個子句將在try子句沒有發生任何異常的時候執行。

try語句按照如下方式工作;

乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。 處理程式將只針對對應的try子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。 乙個except子句可以同時處理多個異常,這些異常將被放在乙個括號裡成為乙個元組

異常處理並不僅僅處理那些直接發生在try子句中的異常,而且還能處理子句中呼叫的函式(甚至間接呼叫的函式)裡丟擲的異常。

使用except…as與統一處理

可以在except中同時指定多種異常,以便使用相同的異常處理**進行統一處理。

在except語句中可以使用as為異常類建立乙個例項物件,例如:

except(.

....

...)

as exp

異常型別:exp,__ calss__.__ name__

異常資訊:exp

捕捉所有異常

except語句中沒有指明異常型別,則不管發生什麼型別的異常,均會執行except的**。

而且有乙個好處就是還可以進一步使用sys.exc_info()方法來獲取詳細異常資訊,例:

import sys

try:

x=int(

input

("請輸入乙個整數"))

except

:print

(sys.exc_info())

#q#(, valueerror("invalid literal for int() with base 10: 'q'"), )

raise 唯一的乙個引數指定了要被丟擲的異常。它必須是乙個異常的例項或者是異常的類(也就是 exception 的子類)。

如果你只想知道這是否丟擲了乙個異常,並不想去處理它,那麼乙個簡單的 raise 語句就可以再次把它丟擲。

try

:raise nameerror(

'hithere'

)except nameerror:

print

('an exception flew by!'

)raise

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