python3 的異常處理,在官方文件的 tutorial 中有說明。
這裡把常用的異常處理方法都列出來,方便平時查詢。
python3 要求我們的異常必須繼承 exception 類。built-in 的所有異常也都是繼承自這個類。因此,我們只需要捕獲這個類的例項,就可以捕獲所有的異常。
try:raise
except exception as err:
print(err)
sys.exc_info()
會返回乙個3值元表,其中包含呼叫該命令時捕獲的異常。
這個元表的內容為 (type, value, traceback) ,其中:
sys.last_traceback
包含的內容與sys.exc_info()
相同,但它主要用於除錯,並不總是被定義。
import systry:
raise
except:
t,v,tb = sys.exc_info()
print(t,v)
trackback 模組用來精確模仿 python3 解析器的 stack trace 行為。在程式中應該盡量使用這個模組。
traceback.print_exc()
可以直接列印當前的異常。
import tracebacktry:
raise
except:
traceback.print_exc()
traceback.print_tb()
用來列印上面提到的 trackback 物件。
import sys,tracebacktry:
raise
except:
t,v,tb = sys.exc_info()
traceback.print_tb(tb)
traceback.print_exception()
可以直接列印sys.exc_info()
提供的元表。
import sys,tracebacktry:
raise
except:
traceback.print_exception(*sys.exc_info())
其實,下面兩句是等價的:
traceback 提供的引數可以將 print 的內容寫入到檔案中,詳見這裡:29.9. traceback — print or retrieve a stack traceback
Python3 異常處理
python3.5 異常處理 try用法 try except語句主要是用於處理程式正常執行過程中出現的一些異常情況 try finally語句則主要用於在無論是否發生異常情況,都需要執行一些清理工作的場合 完整語句中,else語句的存在必須以except x或者except語句為前提,也就是說el...
python3 異常處理
python中的異常捕獲 異常處理語句關鍵字有try except else finally,主要組合如下 1.不捕獲異常,不管是否異常仍要執行操作 finally 先執行finally中的語句,再丟擲異常。不捕獲異常,丟擲異常後,仍執行finally中的語句 try print 1 0 final...
Python3異常處理
在程式設計過程中為了增加友好性,在程式出現bug時一般不會直接將錯誤資訊展示給使用者,而是提供乙個友好的輸出提示。1.異常基礎 常用結構 try pass except exception,ex pass 其他結構 try 主 塊 pass except keyerror,e 異常時,執行該塊 pa...