zoukankan      html  css  js  c++  java
  • 错误堆栈信息记录错误日志

    前言

    任何代码执行前都需要考虑代码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 后错误的信息提供的更详细,且错误信息为字符串可以直接存入变量以便写入错误日志。

  • 相关阅读:
    语言模型的压缩方法
    推荐算法之 Slope One 算法
    基于内容的推荐(Contentbased Recommendations)
    Txt文件转换为Excel文件
    WebResource 内嵌资源
    多层模态窗口showModalDialog页面提交及刷新
    屏蔽/自定义JavaScript脚本错误
    .net动态显示当前时间
    客户端自动累加
    中国IT管理之窥豹一斑
  • 原文地址:https://www.cnblogs.com/fanggege/p/10260635.html
Copyright © 2011-2022 走看看