Sobes.tech
Junior — Middle

Em que casos é necessário capturar e tratar erros de pânico num programa?

sobes.tech IA

Resposta da IA

Tratar erros de pânico (panic) é necessário nos casos em que é preciso garantir a conclusão correta do programa ou recuperação após erros críticos, para evitar uma terminação abrupta.

Por exemplo:

  • Em aplicações de servidor, para que o serviço não falhe devido a um erro.
  • Ao trabalhar com recursos externos, para fechar arquivos, conexões corretamente.
  • Em bibliotecas, para fornecer aos usuários a possibilidade de lidar com erros críticos.

Para isso, usa-se recover() dentro de uma função deferida (defer), que captura o pânico e permite que o programa continue ou termine corretamente.

Exemplo:

func safeFunction() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Pânico capturado:", r)
        }
    }()

    // Código que pode causar panic
    panic("algo deu errado")
}