python traceback报错_Python traceback.print_exc()返回’None’

该函数应该捕获主执行中的异常.如果存在异常,则应使用log.error(traceback.print_exc())打印出错误并使用exit_main()进行清理.

def main():

try:

exec_app()

except KeyboardInterrupt:

log.error('Error: Backup aborted by user.')

exit_main()

except Exception:

log.error('Error: An Exception was thrown.')

log.error("-" * 60)

log.error(traceback.print_exc())

log.error("-" * 60)

exit_main()

遗憾的是,如果存在异常,log.error(traceback.print_exc())仅返回None.在这种情况下,如何使回溯打印完整的错误报告?

PS:我使用python 3.4.

最佳答案 从它的__doc__:

Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'

也就是说,它不应该返回任何东西,它的工作是打印.如果要将跟踪作为字符串记录,请改用traceback.format_exc().

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值