如何在引发时将变量传递给异常并在排除时检索它?

时间:2011-07-08 15:35:03

标签: python exception

现在我只有一个空白的异常类。我想知道如何在它被引发时给它一个变量,然后当我在try中处理它时检索该变量...除了。

class ExampleException (Exception):
    pass

2 个答案:

答案 0 :(得分:33)

给它的构造函数一个参数,将其存储为属性,然后在except子句中检索它:

class FooException(Exception):
    def __init__(self, foo):
        self.foo = foo

try:
    raise FooException("Foo!")
except FooException as e:
    print e.foo

答案 1 :(得分:1)

你可以这样做。

try:
    ex = ExampleException()
    ex.my_variable= "some value"
    raise ex
except ExampleException, e:
    print( e.my_variable )

工作正常。