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")
}