Как передать переменную в исключение при его возникновении и получить его при исключении? - PullRequest
21 голосов
/ 08 июля 2011

Сейчас у меня просто пустой класс исключений.Мне было интересно, как я могу дать ему переменную, когда она вызывается, и затем извлечь эту переменную, когда я обрабатываю ее в попытке ... кроме.

class ExampleException (Exception):
    pass

Ответы [ 2 ]

33 голосов
/ 08 июля 2011

Дайте своему конструктору аргумент, сохраните его как атрибут, затем извлеките его в предложении except:

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

try:
    raise FooException("Foo!")
except FooException as e:
    print e.foo
1 голос
/ 08 июля 2011

Вы можете сделать это.

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

Работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...