溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python 輸出詳細(xì)的異常信息(traceback)方式

發(fā)布時間:2020-09-11 00:53:03 來源:腳本之家 閱讀:258 作者:GodLordGee 欄目:開發(fā)技術(shù)

問題描述

為了程序的正常運行,進行異常處理是有必要的,甚至于有時候,我們會主動的拋出異常,然后讓程序進行異常捕獲,再進行進一步的處理。但是,在開發(fā)的程序相對較大的過程中,我們不能一昧的進行try....except。而是要弄清楚到底拋出的是什么異常,同時,對于某些未知的異常,我們應(yīng)該清楚的定位到到底是哪一行程序拋出的異常,針對這種情況,traceback庫能極大的幫助我們。

解決方法

代碼只需一行,即 print(traceback.format_exc()) 即可,這樣即可打印詳細(xì)的信息,這個詳細(xì)信息比你捕捉完異常打印args詳細(xì)多了,詳細(xì)到具體第幾行,如果你在一個大型程序里,需要定位錯誤,那么,traceback是十分好用的:

Python 輸出詳細(xì)的異常信息(traceback)方式

可以清楚的看到 ‘=' 號上方和下方打印的異常詳細(xì)程度是不同的。

我們還可以通過traceback,獲得異常的名稱,用于根據(jù)異常名稱進行異常捕獲,例如,我們直接運行一段程序,并沒有打印出來異常的名字,這樣我們無法通過異常名對異常進行捕獲,因此,我們可以通過traceback獲得異常名:

Python 輸出詳細(xì)的異常信息(traceback)方式

如上圖,我們無法獲得異常名,下圖展示traceback獲得異常名:

Python 輸出詳細(xì)的異常信息(traceback)方式

從上圖我們可以看到,我們無法通過args獲取異常名,但是可以通過traceback獲取

補充知識:python 輸出完成異常信息

如下所示:

import traceback
 
try:
  1/0
exception:
  traceback.print_exc()

traceback.print_exc() 直接打印異常

traceback.format_exc()返回字符串

print_exc() 還可以接受file參數(shù)直接寫入到一個文件

還可以將信息寫入到文件

traceback.print_exc(file=open(‘error.txt','a+'))

以上這篇Python 輸出詳細(xì)的異常信息(traceback)方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI