gpt4 book ai didi

python - 从异常中获取回溯而不重新引发它们

转载 作者:太空狗 更新时间:2023-10-30 03:06:19 25 4
gpt4 key购买 nike

我正在使用 Twister 构建服务器。我也在维护一个服务器错误日志。问题是,如果我让异常在堆栈中一直向上运行,它会导致当前连接崩溃并断开用户连接,所以显然我附加了一个 bare except 来获取其他所有内容。

一旦我发现了一些东西,是否有办法将回溯作为字符串获取,以便我可以将它存储在某个地方/自己打印它而无需引发它并让 Python 在程序崩溃时为我打印它?

最佳答案

traceback 模块包含一些用于打印和检查 traceback 的辅助函数(例如,traceback.print_tb)——但重要的是 traceback 信息本身存储在一个“解释器全局”变量中——sys.exc_traceback,在模块系统。

引用自:

http://docs.python.org/reference/compound_stmts.html#try

Before an except clause’s suite is executed, details about the exception are assigned to three variables in the sys module: sys.exc_type receives the object identifying the exception; sys.exc_value receives the exception’s parameter; sys.exc_traceback receives a traceback object...

您可以将 sys.exc_traceback 对象作为参数传递给 traceback.print_tb,以便在 except 子句中将回溯打印到标准输出。

关于python - 从异常中获取回溯而不重新引发它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com