首页 > 解决方案 > Python,从系统信息中获取异常参数

问题描述

如果我只能访问 sys.exc_info(),

exc_type, exc_value, exc_traceback = sys.exc_info()

引发此异常时,

class TestException(Exception):

    def __init__(self, message, arg_a):
        super().__init__(message)
        self.arg_a = arg_a

arg_a是否可以从其中任何一个访问实例变量exc_type, exc_value, exc_traceback

标签: pythonexception

解决方案


是的,这很简单:

import sys

class TestException(Exception):
    def __init__(self, message, arg_a):
        super().__init__(message)
        self.arg_a = arg_a

try:
    raise TestException("message", "spanish inquisition")
except TestException as e:
    print(e.arg_a)  # spanish inquisition
    exc_type, exc_value, exc_traceback = sys.exc_info()
    print(exc_value.arg_a)  # spanish inquisition


推荐阅读