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

События аудита CPython

События аудита времени выполнения Python

sys.audit(event, *args):

Функция sys.audit() вызывает событие аудита с любыми активными хуками/перехватами. Имя события event - это строка, идентифицирующая событие и связанную с ним схему, которая представляет собой число и типы аргументов. Схема для данного события считается общедоступным и стабильным API и не должна изменяться между выпусками.

Функция sys.audit() вызовет первое исключение, вызванное любым хуком/перехватом. Как правило, эти ошибки не должны обрабатываться и должны завершать процесс как можно быстрее.

Хуки добавляются с помощью функций sys.addaudithook() или PySys_AddAuditHook().

Собственный эквивалент этой функции - PySys_Audit(). Использование собственной функции предпочтительно, когда это возможно.

Смотрите таблицу событий аудита для всех событий, вызываемых CPython.

sys.addaudithook(hook):

Функция sys.addaudithook() добавляет вызываемый хук/перехват в список активных хуков аудита для текущего интерпретатора.

Когда событие аудита вызывается через системную функцию sys.audit(), то каждый Хук/перехват будет вызываться в том порядке, в котором был добавлен с именем события и кортежем аргументов. Сначала вызываются собственные хуки, добавленные функцией PySys_AddAuditHook(), а затем хуки, добавленные в текущий интерпретатор.

Систему событий хуков аудита sys.addaudithook можно вызывать без каких-либо аргументов. Если какие-либо существующие "перехваты" вызывают исключение, полученное из RuntimeError, новый перехват не будет добавлен, а исключение будет подавлено. В результате вызывающие абоненты не cмогут предположить, что их хук был добавлен, если они не контролируют все существующие хуки.