Сообщить об ошибке.

Базовые классы для других исключений

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

Содержание:

  • Базовый класс для встроенных исключений 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().