python中的異常處理

2022-05-10 17:46:55 字數 1059 閱讀 3269

在程式設計過程中我們並不希望使用者看到許多的錯誤報警,特別是報警的源**,互動很不友好,所以在除了自己進行除錯過程之外,應盡可能的避免出現一場**,就引入了異常處理這個機制。

異常描述

nameerror

嘗試訪問乙個沒有申明的變數

zerodivisionerror

除數為0

syntaxerror

語法錯誤

indexerror

索引超出序列範圍

keyerror

請求乙個不存在的字典關鍵字

ioerror

輸入輸出錯誤(比如你要讀的檔案不存在)

attributeerror

嘗試訪問未知的物件屬性

valueerror

傳給函式的引數型別不正確,比如給int()函式傳入字串形

使用python中內建的錯誤進行判斷:  

try:

"可能錯誤的表示式"

except "錯誤型別" as e:

print("有%s這個錯誤"%e)

except exception:#其他任意錯誤型別

print("非指定錯誤")

else:

print("一切正常")

class jiangexception(exception):#無法對自帶的錯誤進行覆蓋,但盡量避免去使用。

def __init__(self,msg):

self.message = msg

def __str__(self):

return self.message

try:

raise jiangexception("自定義錯誤")#raise語句觸發異常

except jiangexception as e:

print(e)

finally:#finally是無論是否出現該異常均要執行。

print("不管怎麼樣我都要列印"

assert type(..) is int#斷言,保護之後的**,嚴格行

print(....)

python 中的異常處理

python的異常處理能力是很強大的,可向使用者準確反饋出錯資訊。在python中,異常也是物件,可對它進行操作。所有異常都是基類exception的成員。所有異常都從基類exception繼承,而且都在exceptions模組中定義。python自動將所有異常名稱放在內建命名空間中,所以程式不必匯...

Python中的異常處理

當python檢測到乙個錯誤時,直譯器就無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的 異常 看如下示例 try print test1 open 123.txt r print test2 except ioerror pass此時可以正常執行,執行結果為 test1 說明 try exc...

python中的異常處理

python使用異常物件來表示異常狀態,並在遇到錯誤時引發異常,異常物件未被處理時,程式將終止並顯示一條錯誤資訊。raise語句 自定義異常類 class somecustomexception exception pass class myexceptionclass exception def ...