Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.
Образование · 10 августа 2026 г.
С версии Python 3.0 выбрасывание исключения внутри блока except автоматически добавляет... — 10 августа 2026 г. в 07:13:59.504
С версии Python 3.0 выбрасывание исключения внутри блока except автоматически добавляет перехваченное исключение в атрибут __context__ нового исключения. Это приводит к тому, что оба исключения отображаются в traceback: try: 1 / 0 except ZeroDivisionError: raise ValueError('Zero!') Результат выполнения: Traceback (most recent call last): File "test.py", line 2, in <module> 1 / 0 ZeroDivisionError: division by zero During handling of the above exception, another exception occurred: Traceback (most recent call last): File "test.py", line 4, in <module> raise ValueError('Zero!') ValueError: Zero! Вы также можете добавить __cause__ к любому исключению с помощью выражения raise ... from: division_error = None try: 1 / 0 except ZeroDivisionError as e: division_error = e raise ValueError('Zero!') from division_error Результат выполнения: Traceback (most recent call last): File "test.py", line 4, in <module> 1 / 0 ZeroDivisionError: division by zero The above exception was the direct cause of the following exception: Traceback (most recent call last): File "test.py", line 8, in <module> raise ValueError('Zero!') from division_error ValueError: Zero! 👉 @BookPython

