import sys
def unraisablehook(unraisable):
print(f'Исключение: {unraisable.exc_type.__name__}: {unraisable.exc_value}')
sys.unraisablehook = unraisablehook
class Broken:
def __del__(self):
raise RuntimeError('Ошибка в __del__')
obj = Broken()
del obj # Исключение: RuntimeError: Ошибка в __del__
Функция
sys.unraisablehook() позволяет переопределить поведение невыполнимых исключений. Она вызывается в тех случаях, когда возникает исключение, которое Python не может обработать с помощью стандартного блока
try-except. Например, это происходит, когда исключение возникаетdelрукторе (__del__) или во время сборки мусора.Это полезно для отладки и логирования неожиданных ошибок.
🐍 Python Map | Обучение

