成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:4日期:2022-07-30 18:04:36

問(wèn)題描述

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

解決方法

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

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

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

我們還可以通過(guò)traceback,獲得異常的名稱(chēng),用于根據(jù)異常名稱(chēng)進(jìn)行異常捕獲,例如,我們直接運(yùn)行一段程序,并沒(méi)有打印出來(lái)異常的名字,這樣我們無(wú)法通過(guò)異常名對(duì)異常進(jìn)行捕獲,因此,我們可以通過(guò)traceback獲得異常名:

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

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

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

從上圖我們可以看到,我們無(wú)法通過(guò)args獲取異常名,但是可以通過(guò)traceback獲取

補(bǔ)充知識(shí):python 輸出完成異常信息

如下所示:

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

traceback.print_exc() 直接打印異常

traceback.format_exc()返回字符串

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

還可以將信息寫(xiě)入到文件

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

以上這篇Python 輸出詳細(xì)的異常信息(traceback)方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章: