TGViewer
Библиотека Python разработчика | Книги по питону Библиотека Python разработчика | Книги по питону @bookpython · 18.1K subscribers
Post #4130 1.1K
С версии 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!


📲 Мы в MAX

👉@BookPython
  • 👍 2
  • 🔥 2
More from @bookpython
  1. Sep 21, 202610 полезных библиотек для Python-разработчика Сегодня я подготовил для вас подборку из 10…
  2. Sep 16, 2026Если у вас есть ресурсоемкая задача для процессора и вы хотите использовать все доступные…
  3. Sep 15, 2026Protocol vs ABC: Утиная типизация на стероидах (Static Duck Typing) В классическом ООП (Ja…
  4. Sep 14, 2026⚡ Как ускорить код на Python? Используем map, filter, reduce ⚡ Привет, друзья! Сегодня рас…
  5. Sep 10, 2026Ловушка замыканий: Почему ваши лямбды в цикле сломаны (Late Binding) Вы пишете код, которы…
  6. Sep 9, 2026Профилируем Python в продакшене: почему cProfile не подходит, и чем хорош py-spy Когда на…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →