摘要:中用于處理異常棧的模塊是模塊,它提供了等輸出異常棧等常用的工具函數。其實函數只是函數的一個簡寫形式,而它們獲取異常相關的數據都是通過函數得到的。即與效果是一樣的。我的博客即將搬運同步至騰訊云社區,邀請大家一同入駐
python中用于處理異常棧的模塊是traceback模塊,它提供了print_exception、format_exception等輸出異常棧等常用的工具函數。
應用實例try: 1/0 except Exception,e: print e
輸出結果是
integer division or modulo by zero
只知道是報了這個錯,但是卻不知道在哪個文件哪個函數哪一行報的錯。
使用 traceback 模塊import traceback try: 1/0 except Exception,e: traceback.print_exc()
輸出結果是
Traceback (most recent call last): File "test_traceback.py", line 3, in1/0 ZeroDivisionError: integer division or modulo by zero
這樣非常直觀有利于調試。
其實traceback.print_exc()函數只是traceback.print_exception()函數的一個簡寫形式,而它們獲取異常相關的數據都是通過sys.exc_info()函數得到的。
format_exc()返回字符串,print_exc()直接給打印出來。
即traceback.print_exc()與print traceback.format_exc()效果是一樣的。
print_exc()還可以接受file參數直接寫入到一個文件。比如
traceback.print_exc(file=open("tb.txt","w+"))
寫入到tb.txt文件中。
我的博客即將搬運同步至騰訊云+社區,邀請大家一同入駐:https://cloud.tencent.com/dev...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41721.html
摘要:下面我們來看一下效果下次需要捕獲一個異常然后再拋出另一個異常的時候大家可以試試本文的方法。 一般實現捕獲異常然后再拋出另一個異常的方法類似下面這樣: def div(): 2 / 0 try: div() except ZeroDivisionError as e: raise ValueError(e) 不知道大家有沒有注意到這樣拋出異常的方式有一個很嚴重的...
摘要:值得注意的是,有的編碼方案不一定能表示某些信息,這時編碼就會失敗,比如就不能用來表示中文。數組的每一項是一個字節,用來表示。所以對于字符串來說,其長度等于編碼后字節的長度。所以,讓來編碼解碼中文,就超出了其能力范圍。 在人機交互之字符編碼 一文中對字符編碼進行了詳細的討論,并通過一些簡單的小程序驗證了我們對于字符編碼的認識。但僅了解這篇文章的內容,并不能幫我們在日常編程中躲過一些字符編...
摘要:返回的信息特定于當前線程以及當前堆棧幀。出于某些原因,這個值可能無法計算,將返回返回安卓版本的構建時間,以整數表示。僅適用于安卓平臺返回解釋器的檢查間隔。可操作此屬性實現強制重新加載模塊等。 sys模塊提供對由解釋器使用或維護的某些變量、與解釋器交互的函數的訪問接口。 sys.abiflags 在使用標準configure腳本構建python的POSIX系統上,該屬性包含了PEP 31...
摘要:調試器可幫助程序員分析完整的代碼。我們將使用標準庫中的模塊調試我們的腳本。例外是程序執行期間發生的錯誤。設置斷點并檢查堆棧幀,并列出源代碼。輸入以繼續調試。分析和計時程序分析程序意味著測量程序的執行時間。的模塊用于分析程序。 showImg(https://segmentfault.com/img/remote/1460000018807029?w=902&h=442); 來源 | ...
摘要:處理異常時發生了新的異常,在不使用時更傾向于新異常與正在處理的異常沒有關聯。而則是能指出新異常是因舊異常直接引起的。這樣的異常之間的關聯有助于后續對異常的分析和排查。若要忽略上下文,則可以通過來禁止自動顯示異常上下文。 起步 Python 的 raise 和 raise from 之間的區別是什么? try: print(1 / 0) except Exception as e...
閱讀 1309·2021-09-27 13:56
閱讀 2340·2019-08-26 10:35
閱讀 3497·2019-08-23 15:53
閱讀 1849·2019-08-23 14:42
閱讀 1233·2019-08-23 14:33
閱讀 3562·2019-08-23 12:36
閱讀 1948·2019-08-22 18:46
閱讀 997·2019-08-22 14:06