python 異常處理

2021-09-24 05:37:17 字數 1852 閱讀 2882

#乙個簡單的錯誤捕捉

try:

print('aa' + 1)

except:

print("error!")

'''以下接收具體錯誤型別

zerodivisionerror與typeerror都是基類exception基類的成員

並且定義變數e用來接收具體錯誤資訊

來顯示更多的錯誤資訊

'''try:

r = 10/0

print(r)

except typeerror as e:

print("typeerror:",e)

except zerodivisionerror as e:

print("zerodivisionerror",e)

else:

print("no error!")

'''以下建立乙個新的異常類,繼承於基類exception

'''class myerror(exception):

def __init__(self,value):

self.value = value

def __str__(self):

#repr()函式將物件解釋為供直譯器讀取的形式

return repr(self.value)

try:

'''當程式出現錯誤的時候,pyhton會自動的引發異常。

也可以由raise顯現的引發異常,一旦執行raise語句,之後的語句就不能再執行了

'''raise myerror(110)

except myerror as e:

print(e.value)

'''raise

'''try:

s = none

if s == none:

print("s是空物件")

raise nameerror

print(len(s))

except typeerror as e:

print("空物件沒有長度!")

except:

print("error!")

#觸發自定義異常

try :

file = input("請輸入檔案的名字:")

if file == 'hello':

raise nameerror("錯誤的檔案!")

except:

print("error!")

'''try finally

不管發沒發生異常,finally中的**一定要執行

比如關閉檔案

''''''

執行try下的語句,如果引發異常,則執行過程會跳到第乙個except語句。

如果第乙個except中定義的異常與引發的異常匹配,則執行該except中的語句。

如果引發的異常不匹配第乙個except,則會搜尋第二個except,允許編寫的except數量沒有限制。

如果所有的except都不匹配,則異常會傳遞到下乙個呼叫本**的最高層try**中。

如果沒有發生異常,則執行else塊**

''''''

python的異常處理能力是很強大的,可向使用者準確反饋出錯資訊。

在python中,異常也是物件,可對它進行操作。所有異常都是基類exception的成員。

所有異常都從基類exception繼承,而且都在exceptions模組中定義。

python自動將所有異常名稱放在內建命名空間中,所以程式不必匯入exceptions模組即可使用異常。

一旦引發而且沒有捕捉systemexit異常,程式執行就會終止。

異常處理就是為了捕捉異常返回有用資訊而不程式執行終止的操作

'''

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