成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python traceback 獲取詳細(xì)的異常信息

_Suqin / 688人閱讀

摘要:中用于處理異常棧的模塊是模塊,它提供了等輸出異常棧等常用的工具函數(shù)。其實(shí)函數(shù)只是函數(shù)的一個(gè)簡(jiǎn)寫形式,而它們獲取異常相關(guān)的數(shù)據(jù)都是通過(guò)函數(shù)得到的。即與效果是一樣的。我的博客即將搬運(yùn)同步至騰訊云社區(qū),邀請(qǐng)大家一同入駐

python中用于處理異常棧的模塊是traceback模塊,它提供了print_exception、format_exception等輸出異常棧等常用的工具函數(shù)。

應(yīng)用實(shí)例
try:  
    1/0  
except Exception,e:  
    print e
    

輸出結(jié)果是

integer division or modulo by zero

只知道是報(bào)了這個(gè)錯(cuò),但是卻不知道在哪個(gè)文件哪個(gè)函數(shù)哪一行報(bào)的錯(cuò)。

使用 traceback 模塊
import traceback  
try:  
    1/0  
except Exception,e:  
    traceback.print_exc()  
    

輸出結(jié)果是

Traceback (most recent call last):
File "test_traceback.py", line 3, in 
1/0
ZeroDivisionError: integer division or modulo by zero

這樣非常直觀有利于調(diào)試。
其實(shí)traceback.print_exc()函數(shù)只是traceback.print_exception()函數(shù)的一個(gè)簡(jiǎn)寫形式,而它們獲取異常相關(guān)的數(shù)據(jù)都是通過(guò)sys.exc_info()函數(shù)得到的。

traceback.print_exc()和traceback.format_exc()區(qū)別

format_exc()返回字符串,print_exc()直接給打印出來(lái)。
即traceback.print_exc()與print traceback.format_exc()效果是一樣的。
print_exc()還可以接受file參數(shù)直接寫入到一個(gè)文件。比如
traceback.print_exc(file=open("tb.txt","w+"))
寫入到tb.txt文件中。


我的博客即將搬運(yùn)同步至騰訊云+社區(qū),邀請(qǐng)大家一同入駐:https://cloud.tencent.com/dev...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41721.html

相關(guān)文章

  • 捕獲異常然后再拋出另一個(gè)異常正確姿勢(shì)

    摘要:下面我們來(lái)看一下效果下次需要捕獲一個(gè)異常然后再拋出另一個(gè)異常的時(shí)候大家可以試試本文的方法。 一般實(shí)現(xiàn)捕獲異常然后再拋出另一個(gè)異常的方法類似下面這樣: def div(): 2 / 0 try: div() except ZeroDivisionError as e: raise ValueError(e) 不知道大家有沒(méi)有注意到這樣拋出異常的方式有一個(gè)很嚴(yán)重的...

    RebeccaZhong 評(píng)論0 收藏0
  • Python2.x 字符編碼終極指南

    摘要:值得注意的是,有的編碼方案不一定能表示某些信息,這時(shí)編碼就會(huì)失敗,比如就不能用來(lái)表示中文。數(shù)組的每一項(xiàng)是一個(gè)字節(jié),用來(lái)表示。所以對(duì)于字符串來(lái)說(shuō),其長(zhǎng)度等于編碼后字節(jié)的長(zhǎng)度。所以,讓來(lái)編碼解碼中文,就超出了其能力范圍。 在人機(jī)交互之字符編碼 一文中對(duì)字符編碼進(jìn)行了詳細(xì)的討論,并通過(guò)一些簡(jiǎn)單的小程序驗(yàn)證了我們對(duì)于字符編碼的認(rèn)識(shí)。但僅了解這篇文章的內(nèi)容,并不能幫我們?cè)谌粘>幊讨卸氵^(guò)一些字符編...

    Amio 評(píng)論0 收藏0
  • python模塊之sys

    摘要:返回的信息特定于當(dāng)前線程以及當(dāng)前堆棧幀。出于某些原因,這個(gè)值可能無(wú)法計(jì)算,將返回返回安卓版本的構(gòu)建時(shí)間,以整數(shù)表示。僅適用于安卓平臺(tái)返回解釋器的檢查間隔??刹僮鞔藢傩詫?shí)現(xiàn)強(qiáng)制重新加載模塊等。 sys模塊提供對(duì)由解釋器使用或維護(hù)的某些變量、與解釋器交互的函數(shù)的訪問(wèn)接口。 sys.abiflags 在使用標(biāo)準(zhǔn)configure腳本構(gòu)建python的POSIX系統(tǒng)上,該屬性包含了PEP 31...

    csRyan 評(píng)論0 收藏0
  • 調(diào)試和分析Python腳本

    摘要:調(diào)試器可幫助程序員分析完整的代碼。我們將使用標(biāo)準(zhǔn)庫(kù)中的模塊調(diào)試我們的腳本。例外是程序執(zhí)行期間發(fā)生的錯(cuò)誤。設(shè)置斷點(diǎn)并檢查堆棧幀,并列出源代碼。輸入以繼續(xù)調(diào)試。分析和計(jì)時(shí)程序分析程序意味著測(cè)量程序的執(zhí)行時(shí)間。的模塊用于分析程序。 showImg(https://segmentfault.com/img/remote/1460000018807029?w=902&h=442); 來(lái)源 | ...

    wenzi 評(píng)論0 收藏0
  • raise 與 raise ... from 區(qū)別

    摘要:處理異常時(shí)發(fā)生了新的異常,在不使用時(shí)更傾向于新異常與正在處理的異常沒(méi)有關(guān)聯(lián)。而則是能指出新異常是因舊異常直接引起的。這樣的異常之間的關(guān)聯(lián)有助于后續(xù)對(duì)異常的分析和排查。若要忽略上下文,則可以通過(guò)來(lái)禁止自動(dòng)顯示異常上下文。 起步 Python 的 raise 和 raise from 之間的區(qū)別是什么? try: print(1 / 0) except Exception as e...

    sPeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<