Следующие исключения используются в основном как базовые классы для других исключений.
BaseException
,Exception
,ArithmeticError
,BufferError
,LookupError
,BaseException
:Базовый класс для всех встроенных исключений. Он не предназначен для прямого наследования определяемыми пользователем классами, для этого используйте исключение Exception
. Если функция str()
вызывается на экземпляре этого класса, то возвращается представление аргумента(ов) к экземпляру или пустая строка, когда аргументов не было.
BaseException
:BaseException.args
:Атрибут BaseException.args
представляет собой кортеж аргументов, заданных конструктору исключений. Некоторые встроенные исключения (например, OSError) ожидают определенного числа аргументов и присваивают особое значение элементам этого кортежа, в то время как другие обычно вызываются только с одной строкой, дающей сообщение об ошибке.
BaseException.with_traceback(tb)
:Метод BaseException.with_traceback(tb)
устанавливает аргумент tb
в качестве новой обратной трассировки для исключения и возвращает объект исключения. Он обычно используется в коде обработки исключений, как это:
try: ... except SomeException: tb = sys.exc_info()[2] raise OtherException(...).with_traceback(tb)
BaseException.add_note(note)
:Метод BaseException.add_note()
добавляет строку примечания к примечаниям исключения, которые появляются в стандартной трассировке после строки исключения. Ошибка TypeError
возникает, если аргумент note
не является строкой.
Добавлен в Python 3.11.
BaseException.__notes__
:Атрибут BaseException.__notes__
- это список заметок этого исключения, которые были добавлены с помощью BaseException.add_note()
. Этот атрибут создается при вызове метода BaseException.add_note()
.
Добавлен в Python 3.11.
Exception
:Все встроенные исключения, не связанные с системой, являются производными от этого класса. Все пользовательские исключения также должны быть производными от этого класса.
ArithmeticError
:Исключение ArithmeticError
это базовый класс для трех встроенных исключений, которые поднимаются для различных арифметических ошибок:
OverflowError
, ZeroDivisionError
, FloatingPointError
.BufferError
:Исключение BufferError
поднимается, когда операция, связанная с буфером, не может быть выполнена.
LookupError
:Исключение LookupError
это базовый класс для исключений, которые возникают, когда ключ или индекс, используемые в отображении или последовательности, недопустимы: IndexError
, KeyError
. Исключение LookupError
можно поднять напрямую codecs.lookup()
.