多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 获取异常完整信息的正确姿势 在实际开发中,当代码数量与异常处理操作数量不断增加时,我们会发现简单的try...except Exception的异常捕获方式无法让我们很快的定位到异常信息,而且更甚者会多层嵌套使用, 下面是一个常见异常处理的例子: ~~~ def func_a(): b = 1 + '' def func_b(): b = 1 + '' def func_c(): b = 1 + '' try: func_a() func_b() func_c() except Exception as e: print('程序坏掉了:', e) ~~~ ### 执行结果 :-: ![](https://img.kancloud.cn/bd/04/bd04c011e9ddbf6e05f88fa32bee23ce_665x73.png) ## 如果这种写法,请问如果有函数内部出错,如果你不去看每个函数内部代码的话你能知道到底是哪个函数出了问题吗 ## traceback库可以防止你进入上述代码的坑 ~~~ import traceback def func_a(): b = 1 + '' def func_b(): b = 1 + '' def func_c(): b = 1 + '' try: func_a() func_b() func_c() except Exception as e: print(traceback.format_exc()) ~~~ ### 执行结果 :-: ![](https://img.kancloud.cn/7b/90/7b90e4fec9bf496b23c5bb344f49ec1d_858x166.png)