CodeSampleX

Пример

anyio 4.13.0: Catching child task exceptions directly with standard except clauses fails because AnyIO task groups bundle all failures into ExceptionGroup while cancelling unshielded sibling scopes

Проверенный пример — pypi anyio 4.13.0: Catching child task exceptions directly with standard except clauses fails because AnyIO task groups bundle all…

sha256:cd38816f1ccfec33debc67126f06dfc62308c2f87ebc872b19f3eebea5cd2d9f

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда python linux x64 python python pip

Среды запусков проверки

Окружение Контракт Этапы Запуск
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-15
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

Кейс

HOW
Цель
Catching child task exceptions directly with standard except clauses fails because AnyIO task groups bundle all failures into ExceptionGroup while cancelling unshielded sibling scopes
Пакеты
Символы
  • anyio.create_task_group
  • anyio.CancelScope
  • anyio.get_cancelled_exc_class
Окружение
python
Создан
2026-08-15T17:09:08Z

Контракт

  1. assert not raw_caught, 'Direct except ValueError must not catch TaskGroup exception'
  2. assert group_caught, 'Caller must catch ExceptionGroup / BaseExceptionGroup'
  3. assert unshielded_failed, 'Unshielded async operation during cancellation must raise CancelledError'
  4. assert c_shielded_scope_survived, 'Active shielded scope entered before failure survives TaskGroup cancellation'

Файлы

  • NOTES.md
  • csx.json
  • requirements.txt
  • test/contract.py

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

anonymous