【发布时间】:2011-10-01 09:26:09
【问题描述】:
现在我只有一个空白的异常类。我想知道如何在它被引发时给它一个变量,然后在我在 try...except 中处理它时检索该变量。
class ExampleException (Exception):
pass
【问题讨论】:
-
Nice example 如果你想保留默认的消息行为。
现在我只有一个空白的异常类。我想知道如何在它被引发时给它一个变量,然后在我在 try...except 中处理它时检索该变量。
class ExampleException (Exception):
pass
【问题讨论】:
给它的构造函数一个参数,将它存储为一个属性,然后在except 子句中检索它:
class FooException(Exception):
def __init__(self, foo):
self.foo = foo
try:
raise FooException("Foo!")
except FooException as e:
print e.foo
【讨论】:
你可以这样做。
try:
ex = ExampleException()
ex.my_variable= "some value"
raise ex
except ExampleException, e:
print( e.my_variable )
工作正常。
【讨论】:
__init__ 内执行此操作的公认答案方法更好。