異常處理的基本結構如下:
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...