python3 traceback模塊來(lái)追蹤和打印異常信息
在 Python 3 中,你可以使用標(biāo)準(zhǔn)庫(kù)中的 traceback 模塊來(lái)追蹤和打印異常信息。這個(gè)模塊提供了許多函數(shù)來(lái)處理異常,并且能夠輸出異常的堆棧信息,幫助你定位錯(cuò)誤的地方。以下是一個(gè)簡(jiǎn)單的示例代碼,演示了如何使用 traceback 模塊來(lái)追蹤報(bào)錯(cuò)信息:
print_exc 打印異常
import traceback
def function_a():
return 1 / 0 # 觸發(fā)一個(gè)除零異常
def main_function():
try:
function_a()
except Exception as e:
# 打印異常信息
traceback.print_exc()
main_function()
在上面的示例中,我們定義了兩個(gè)函數(shù) function_a 和 main_function。在 function_a 中我們故意觸發(fā)了一個(gè)除零異常。在 main_function 中,我們使用 try...except 結(jié)構(gòu)來(lái)捕獲異常,并調(diào)用 traceback.print_exc() 來(lái)打印異常信息。
當(dāng)你運(yùn)行這段代碼時(shí),就會(huì)看到包含了異常信息和堆棧跟蹤的輸出。
extract_tb 提取堆棧
traceback.extract_tb() 函數(shù)用于提取堆棧跟蹤信息,并返回一個(gè)包含各個(gè)幀信息的列表。每個(gè)幀信息都以元組的形式返回,包括文件名、行號(hào)、函數(shù)名和源代碼行。以下是一個(gè)簡(jiǎn)單的示例代碼,演示了如何使用 traceback.extract_tb() 函數(shù):
import traceback
def function_a():
return 1 / 0 # 觸發(fā)一個(gè)除零異常
def main_function():
try:
function_a()
except Exception as e:
# 提取堆棧跟蹤信息
tb_list = traceback.extract_tb(e.__traceback__)
# 打印每個(gè)幀的信息
for tb in tb_list:
print("File:", tb.filename)
print("Line:", tb.lineno)
print("Function:", tb.name)
print("Code:", tb.line)
print()
main_function()
在上面的示例中,我們定義了兩個(gè)函數(shù) function_a 和 main_function,其中 function_a 故意觸發(fā)了一個(gè)除零異常。在 main_function 中,我們使用 try...except 結(jié)構(gòu)捕獲異常,并通過(guò) traceback.extract_tb(e.__traceback__) 提取堆棧跟蹤信息。
然后,我們遍歷提取到的堆棧跟蹤信息列表 tb_list,并打印每個(gè)幀的文件名、行號(hào)、函數(shù)名和源代碼行。
當(dāng)你運(yùn)行這段代碼時(shí),就會(huì)看到輸出包含了每個(gè)幀的詳細(xì)信息。
到此這篇關(guān)于python3 traceback模塊來(lái)追蹤和打印異常信息 的文章就介紹到這了,更多相關(guān)python3 traceback打印異常信息 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python向MySQL數(shù)據(jù)庫(kù)插入數(shù)據(jù)的操作方法
這篇文章主要介紹了python向MySQL數(shù)據(jù)庫(kù)插入數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11
Python自動(dòng)化辦公之Word文檔的創(chuàng)建與生成
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)python腳本來(lái)自動(dòng)生成一個(gè)?word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-05-05
python實(shí)現(xiàn)sm2和sm4國(guó)密(國(guó)家商用密碼)算法的示例
這篇文章主要介紹了python實(shí)現(xiàn)sm2和sm4國(guó)密(國(guó)家商用密碼)算法的示例,幫助大家使用python加密文件,感興趣的朋友可以了解下2020-09-09
Python pyecharts實(shí)現(xiàn)繪制中國(guó)地圖的實(shí)例詳解
pyecharts是一個(gè)用于生成 Echarts 圖表的類庫(kù)。Echarts 是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)。用 Echarts 生成的圖可視化效果非常棒。本文將通過(guò)pyecharts繪制中國(guó)地圖,需要的可以學(xué)習(xí)一下2022-01-01
python監(jiān)控nginx端口和進(jìn)程狀態(tài)
這篇文章主要為大家詳細(xì)介紹了python監(jiān)控nginx端口和進(jìn)程狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
Python爬取網(wǎng)頁(yè)中的圖片(搜狗圖片)詳解
沒(méi)想到python是如此強(qiáng)大,令人著迷,以前看見(jiàn)圖片總是一張一張復(fù)制粘貼,現(xiàn)在好了,學(xué)會(huì)python就可以用程序?qū)⒁粡垙垐D片,保存下來(lái)。下面這篇文章主要給大家介紹了利用Python3.6爬取搜狗圖片網(wǎng)頁(yè)中圖片的相關(guān)資料,需要的朋友可以參考下。2017-03-03
Python多進(jìn)程同步簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要介紹了Python多進(jìn)程同步簡(jiǎn)單實(shí)現(xiàn)代碼,涉及Python基于Process與Lock模塊運(yùn)行進(jìn)程與鎖機(jī)制實(shí)現(xiàn)多進(jìn)程同步的相關(guān)技巧,需要的朋友可以參考下2016-04-04

