久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

使用Python將Exception異常錯誤堆棧信息寫入日志文件

瀏覽:3日期:2022-07-30 17:10:35

假設需要把發生異常錯誤的信息寫入到log.txt日志文件中去:

import tracebackimport logging logging.basicConfig(filename=’log.txt’, level=logging.DEBUG, format=’%(asctime)s - %(levelname)s - %(message)s’) try: raise Exception(’發生異常錯誤信息’)except: #方案一,自己定義一個文件,自己把錯誤堆棧信息寫入文件。 #errorFile = open(’log.txt’, ’a’) #errorFile.write(traceback.format_exc()) #errorFile.close() #方案二,使用Python標準日志管理維護工具。 logging.debug(traceback.format_exc())

補充知識:Python---異常處理、調用棧、異常記錄、拋出錯誤

異常處理:

在python中,內置了一套錯誤處理機制:try:...except:...finally

語法:

try:可能出現異常語句except 錯誤類型1 as e:異常處理except 錯誤類型2 as e:異常處理2...finally:無論是否出錯,都會執行的語句

PS:python的錯誤也是類,所有錯誤的類都繼承自BaseException。

所以使用except時需注意,不但會捕獲該類型的錯誤,還會將其子類錯誤一網打盡

調用棧:

若異常沒有被捕獲,則會一直往上拋,最后拋給解釋器,解釋器打印錯誤的堆棧信息,然后退出。

因此,查找錯誤的時候:

1、先看錯誤類型

2、從下往上找

如:

使用Python將Exception異常錯誤堆棧信息寫入日志文件

異常記錄:

如果只使用異常捕獲,結果只會打印錯誤類型,不會打印錯誤堆棧信息。如果不使用異常捕獲,python解釋器會打印錯誤類型及錯誤堆棧信息,但是程序也被結束了。使用異常記錄就可以把錯誤類型和錯誤堆棧信息都打印出來,而且程序可以繼續執行。

import loggingdef foo(s): return 10/int(s)def bar(s) return foo(s)*2def mian(): try: bar(’0’) except Exception as e: logging.exception(e)main()print('END')

拋出錯誤:

因為錯誤是class,捕獲一個錯誤就是捕獲到該class的一個實例,因此,錯誤并不是憑空產生的,而是有意創建并拋出的,pyhton的內置函數會拋出很多類型的錯誤,我們自己編寫的函數也可以拋出錯誤。

如果要拋出錯誤,首先根據需要,可以定義一個錯誤的class,選擇好繼承關系,然后,用raise語句拋出一個錯誤的實例。

class FooError(valueError): passdef foo(s): n = int(s) if n == 0: raise FooError('invalid value :%s'%s) return 10/nfoo(’0’)

PS:只有在必要的時候才定義我們自己的錯誤類型,如果可以選擇python已有的內置的錯誤類型,盡量使用python內置的錯誤類型。

常見的錯誤類型

- AttributeError 試圖訪問一個對象沒有的屬性- IOError 輸入/輸出異常 無法打開文件- IndentationError 語法錯誤,代碼沒有對齊- keyError 訪問的key字典中不存在- NameError 使用一個還未賦值的對象的變量- TypeError 傳入對象類型與要求不合法- ValueError 傳入一個調用者不期望的值

以上這篇使用Python將Exception異常錯誤堆棧信息寫入日志文件就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲一区二区免费看 | www.干| 欧美一区二区三区免费 | 国产中文在线 | 国产精品亚洲一区二区三区 | 成人在线免费视频观看 | 一区二区三区国产免费 | 日韩9999| 国产精品毛片无码 | 日韩欧美在线视频播放 | 最近免费中文字幕在线视频2 | 成人免费av | 亚洲精品久久久 | 日韩免费在线视频 | 久久在线视频 | 国产精品一区久久 | 黄色网址免费在线 | 开操网| 激情伊人| 国产欧美在线一区二区 | 久久久久久久一区 | 一级特黄色大片 | 黄色的视频免费 | 一区二区三区四区在线播放 | 国产精品一区二区三区在线 | 国产在线视频a | 欧美成人一区二区三区片免费 | 国产成人精品综合 | 欧美精品第一页 | 中文字幕一区二区三区不卡 | 少妇一级淫免费放 | 国产精品视频成人 | 啊v在线视频 | 一区二区三区视频免费看 | 91香蕉视频 | 欧美一二三区在线 | 成人免费高清 | 国产精品久久久久久妇女6080 | 国产伦精品一区二区 | 久久久91精品国产一区二区 | 91av国产精品 |