Как передать переменную в исключение при поднятии и извлечении ее при ее освобождении?
Сейчас у меня только пустой класс исключений. Мне было интересно, как я могу дать ему переменную, когда она поднимается, а затем извлекает эту переменную, когда я обрабатываю ее в try... except.
class ExampleException (Exception):
pass
Ответ 1
Дайте конструктору аргумент, сохраните его как атрибут, затем верните его в предложение except:
class FooException(Exception):
def __init__(self, foo):
self.foo = foo
try:
raise FooException("Foo!")
except FooException as e:
print e.foo
Ответ 2
Вы можете сделать это.
try:
ex = ExampleException()
ex.my_variable= "some value"
raise ex
except ExampleException, e:
print( e.my_variable )