Я получаю "TypeError: исключения должны быть производными от BaseException", хотя я его определил

согласно документам python, исключение происходит от BaseExceptions, и я должен использовать его для пользовательских исключений. вот я и говорю:

class VisaIOError(Exception):

    def __init__(self, error_code):
        abbreviation, description = _completion_and_error_messages[error_code]
        Error.__init__(self, abbreviation + ": " + description)
        self.error_code = error_code

и

 raise(visa_exceptions.VisaIOError, status)

но я получаю (фрагмент трекбэка):

   File "C:Python32Libsite-packagespyvisavpp43.py", line 400, in check_status

    raise(visa_exceptions.VisaIOError, status)
    TypeError: exceptions must derive from BaseException

Примечание: я конвертирую код с python 27 на 32

1 ответов


Я должен сделать:

raise visa_exceptions.VisaIOError(status)