Python3 的異常處理

2022-03-19 20:07:23 字數 1378 閱讀 4133

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 sys

try:

raise

except:

t,v,tb = sys.exc_info()

print(t,v)

trackback 模組用來精確模仿 python3 解析器的 stack trace 行為。在程式中應該盡量使用這個模組。

traceback.print_exc()可以直接列印當前的異常。

import traceback

try:

raise

except:

traceback.print_exc()

traceback.print_tb()用來列印上面提到的 trackback 物件。

import sys,traceback

try:

raise

except:

t,v,tb = sys.exc_info()

traceback.print_tb(tb)

traceback.print_exception()可以直接列印sys.exc_info()提供的元表。

import sys,traceback

try:

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