错误堆栈信息记录错误日志

前言

任何代码执行前都需要考虑代码bug,当出现错误信息时需要展示其错误信息

通过try 方式

代码一

def f1():
    result = 123
    int('asdf')                 #故意设置一个错误的代码源
    return result

def run():
    try:
        ret = f1()
        print(ret)
    except Exception as e:
        print(e)     
run()
View Code

错误信息

invalid literal for int() with base 10: 'asdf'

Process finished with exit code 0
View Code

在try 基础上引入traceback

代码二

import traceback


def f1():
    result = 123
    int('asdf')                 #故意设置一个错误的代码源
    return result

def run():
    try:
        ret = f1()
        print(ret)
    except Exception as e:
        print(traceback.format_exc())
run()
View Code

错误信息

Traceback (most recent call last):
  File "E:/cmdb/auto_client_fang/test.py", line 12, in run
    ret = f1()
  File "E:/cmdb/auto_client_fang/test.py", line 7, in f1
    int('asdf')                 #故意设置一个错误的代码源
ValueError: invalid literal for int() with base 10: 'asdf'

注:不仅提示错误类型,还提供错误的代码位置
View Code

总结

python 代码从上而下执行,有一行出错则代码执行中断,py文件退出状态为异常1。当设置try 后即使出现错误请况,后面代码还会执行,错误代码可以正常打印出来,退出状态为正常的0。

引入 traceback 后错误的信息提供的更详细,且错误信息为字符串可以直接存入变量以便写入错误日志。

 

转载于:https://www.cnblogs.com/fanggege/p/10260635.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值