ExpertiDict

Python · Avançado · Inglês · Técnico

ExceptionGroup

/ɪkˈsɛpʃən ɡɹup/substantivo

Exceção do Python 3.11 que agrupa várias exceções ao mesmo tempo, usada pelo TaskGroup. É tratada com a sintaxe except*, que captura por tipo apenas parte do grupo.

Onde usar

Surge ao rodar tarefas concorrentes que podem falhar juntas. O except* trata cada tipo de erro separadamente e deixa os demais seguirem.

Em código

try:
  raise ExceptionGroup('erros', [
    ValueError(1), TypeError(2)])
except* ValueError as g:
  print('valores:', g.exceptions)
except* TypeError:
  print('tipos')

Exemplos

Catch the ValueError inside the ExceptionGroup with except star.

Capture o ValueError dentro do ExceptionGroup com except star.

The task group raised an ExceptionGroup with three errors.

O task group levantou um ExceptionGroup com três erros.

Cuidado

Um except* não se mistura com except comum no mesmo try, e dentro do bloco a variável é um grupo, não uma exceção única.

Sinônimos

grupo de exceções

Veja também

Todos os termos de Python