【Python学习】详细异常信息

 

复制代码
def robust(func):
    """
    异常追踪装饰器
    :param func:
    :return:
    """
    def add_robust(*args, **kwargs):
        try:
            previous_frame = inspect.currentframe().f_back
            caller_filename, caller_line_number, caller_function_name, caller_lines, caller_index = inspect.getframeinfo(
                previous_frame)
            LOG_DEBUG('caller_filename: {}, caller_line_number: {}, caller_function_name: {}'.format(caller_filename,
                                                                                                 caller_line_number,
                                                                                                 caller_function_name))
            return func(*args, **kwargs)
        except Exception:
            LOG_ERROR('Error execute func:{}'.format(func.__name__))
            traceback.print_exc()
    return add_robust
复制代码
复制代码
try:
    i = int('a')
except Exception, e:
    print 'str(Exception):\t', str(Exception)
    print 'str(e):\t\t', str(e)
    print 'repr(e):\t', repr(e)
    print 'e.message:\t', e.message
    print 'traceback.print_exc():'; traceback.print_exc()
    print 'traceback.format_exc():\n%s' % traceback.format_exc()
复制代码

 

posted @   gtea  阅读(268)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示