BaseException.message удержан от использования в Python 2.6

Посмотрите сообщение в блоге от Sara Ford: http://blogs.msdn.com/saraford/archive/2004/11/15/257953.aspx

167
задан martineau 26 March 2017 в 00:19
поделиться

2 ответа

class MyException(Exception):

    def __str__(self):
        return repr(self.args[0])

e = MyException('asdf')
print e

Это ваш класс в стиле Python2.6. Новое исключение принимает произвольное количество аргументов.

9
ответ дан 23 November 2019 в 21:00
поделиться

Да, он устарел в Python 2.6, потому что он больше не используется в Python 3.0.

Класс BaseException не позволяет сохранять сообщения об ошибках. Вам придется реализовать это самостоятельно. Вы можете сделать это с помощью подкласса, который использует свойство для хранения сообщения.

class MyException(Exception):
    def _get_message(self): 
        return self._message
    def _set_message(self, message): 
        self._message = message
    message = property(_get_message, _set_message)

Надеюсь, это поможет

26
ответ дан 23 November 2019 в 21:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: