Junior — Middle
Quais métodos podem ser usados para capturar e tratar um erro do tipo panic no programa?
sobes.tech IA
Resposta da IA
No Go, para capturar e tratar erros do tipo panic, utiliza-se o mecanismo recover juntamente com defer. A função recover permite apanhar um pânico e evitar que o programa termine de forma abrupta.
Exemplo:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Pânico capturado:", r)
}
}()
// Código que pode causar panic
panic("algo correu mal")
}
func main() {
safeFunction()
fmt.Println("O programa continua a executar")
}
Neste exemplo, defer adia a execução de uma função anónima que chama recover. Se ocorrer um pânico em safeFunction, ele será capturado e tratado, permitindo que o programa continue a funcionar.