python出现traceback什么意思,python中出现traceback
你好,我是郑哥哥。这可能发生在你写Python的人身上。你知道程序报错了,因为这个异常没有被捕获,你也不知道哪一行代码出了问题。你只能手动运行它,看看哪里出错了。然而,这种例外很难再次重现。
如果日志中只记录了该异常的回溯信息就好了。
本文将分享两种记录异常追溯信息的方法。
方法1:可以使用logger . exception logger . exception方法将异常回溯信息记录在日志中。这里有一个小例子:
导入日志记录
logging.basicConfig(
文件名=。/demo.log ,
级别=记录。调试,
format= %(asctime)s %(level name)s %(message)s ,
datefmt=%Y-%m-%d %H:%M:%S ,
)
定义函数1():
logging.info(func1 called )
1/0
定义函数2():
打印(“调用func2”)
def main():
func1()
函数2()
if __name__==__main__ :
尝试:
主()
例外情况为e:
logging.exception(f 主异常:{str(e)} )
raise执行完代码后,你会看到当前路径下的demo.log文件,内容如下:
当异常发生时,可以在日志中看到详细信息。上面的代码使用logging.exception,也可以使用logger:
logger=logging.getLogger()
尝试:
做某事()
例外情况为e:
Logger.exception(some message )方法二:使用标准库回溯导入标准库回溯后,我们还可以这样记录异常的详细信息:
导入追溯
#这里的代码和方法一一样。
if __name__==__main__ :
尝试:
主()
例外情况为e:
logging.error(f 主异常:{traceback.format_exc()} )
用这种方式抛出,运行结果和方法一是一样的,其中traceback.format_exc打印异常的详细信息。
最后,本文分享了记录异常的方法。如果觉得有帮助,请点赞转发。
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。