Junior — Middle
¿En qué casos es necesario capturar y manejar errores de pánico en un programa?
sobes.tech AI
Respuesta de la IA
Es necesario manejar los errores de pánico (panic) en aquellos casos en los que se requiere garantizar la finalización correcta del programa o la recuperación después de errores críticos, para evitar una terminación abrupta.
Por ejemplo:
- En aplicaciones de servidor, para que toda el servicio no falle debido a un error.
- Al trabajar con recursos externos, para cerrar archivos, conexiones correctamente.
- En bibliotecas, para ofrecer a los usuarios la posibilidad de manejar errores críticos.
Para ello se usa recover() dentro de una función diferida (defer), que captura el pánico y permite que el programa continúe o finalice correctamente.
Ejemplo:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Pánico capturado:", r)
}
}()
// Código que puede causar panic
panic("algo salió mal")
}