Wrapping e unwrapping com errors.Is
e errors.As
Wrapping
- Permite adicionar contexto a um erro, mantendo o erro original
- Usado com o operador
%w
emfmt.Errorf
Exemplo
Carregando editor interativo...
errors.Is
- Verifica se um erro (ou seus erros encapsulados) corresponde a um erro específico.
Exemplo
Carregando editor interativo...
errors.As
- Extrai um erro de um tipo específico de uma cadeia de erros encapsulados.
Exemplo
Carregando editor interativo...
Comparação com Java
Wrapping
em Go é semelhante aException.getCause()
em Java, mas mais explícito.errors.Is
eerrors.As
substituem verificações como instanceof ou comparações de tipos de exceção.
Caso de uso
Wrapping é útil em APIs para adicionar contexto (ex: ID da requisição) sem perder o erro original.