python捕获异常时,打印异常的类型、报错文件、与报错所在的行 | 您所在的位置:网站首页 › python所属类型 › python捕获异常时,打印异常的类型、报错文件、与报错所在的行 |
捕获异常
异常的完整代码是: try: raise Exception("wa") except: print("报错") else: print("没有报错") finally: print("程序关闭")得到结果: 报错 程序关闭一般程序里的 try与except是一对,如果没有报错,会执行到else,不论是否有报错,都会执行finally 当异常发生时,会将异常的信息保存到sys.exc_info()这个方法中 官方sys.exc_info()教程:https://docs.python.org/3/library/sys.html#sys.exc_info 使用sys.exc_info()可以得到: 报错类型(返回值位置1)报错信息(返回值位置2)报错信息回溯(返回值位置3)基于报错信息可以额外得到: 报错的行数报错的文件信息详情请见【示例代码】 示例代码 import sys import os try: raise RuntimeError('这里有个报错') except Exception as e: except_type, except_value, except_traceback = sys.exc_info() except_file = os.path.split(except_traceback.tb_frame.f_code.co_filename)[1] exc_dict = { "报错类型": except_type, "报错信息": except_value, "报错文件": except_file, "报错行数": except_traceback.tb_lineno, } print(exc_dict)得到结果: { '报错类型': , '报错信息': RuntimeError('这里有个报错'), '报错文件': 'check_except.py', '报错行数': 9 }如果是完整的流程: try: print('正常的程序') except: print("报错") else: print("没有报错") finally: print("程序关闭")得到结果: 正常的程序 没有报错 程序关闭 |
CopyRight 2018-2019 实验室设备网 版权所有 |