동시에 시작한 작업은 함께 실패할 수 있어
Python 3.11의 ExceptionGroup은 여러 예외를 하나의 트리로 묶고, except*는 그 안에서 특정 타입에 해당하는 모든 잎을 골라 처리해. 실제로는 asyncio.TaskGroup 같은 구조적 동시성에서 자주 만나.
처리하지 않은 예외는 다시 묶여 올라간다
한 except*가 그룹 일부를 처리해도 나머지는 사라지지 않아. 여러 except*가 각 타입을 나눠 맡을 수 있고, 중첩 구조도 보존돼. 같은 try에 평범한 except와 섞을 수는 없어.
원칙: 첫 오류 하나만 보는 직렬 사고를 버리고, 동시에 실패한 각 작업에 어떤 복구를 적용할지 정해.