ExpertiDict

C# · Intermediário · Inglês · Técnico

rethrow

/ɹiˈθɹoʊ/verbo

Relançar uma exceção capturada. Em C#, throw; sozinho preserva a stack trace original, enquanto throw ex; a reinicia a partir do ponto atual.

Onde usar

Aparece em code reviews de blocos catch que registram o erro e o propagam. Usar throw ex; apaga a origem do erro e dificulta o diagnóstico em produção.

Em código

try { Processar(); }
catch (Exception ex)
{
  Log(ex);
  throw;        // preserva a stack trace
  // throw ex;  // evite: reinicia o rastro
}

Exemplos

Use throw; to rethrow and keep the stack trace.

Use throw; para relançar e manter a stack trace.

throw ex resets the stack trace.

O throw ex reinicia a stack trace.

Cuidado

Não confunda throw; com throw ex;: só o primeiro mantém o rastro de onde o erro realmente começou.

Sinônimos

relançar

Veja também

Todos os termos de C#