Panic

¿Para qué se utiliza panic en Go?

Existe una función llamada panic que detiene el flujo de un programa en Go e inicia un proceso de pánico. No es quizás una buena idea su uso, debido a que detener la ejecución del programa no ofrece ninguna salida posible.

package main

import "fmt"

func main() {
    fmt.Println("Antes de iniciar pánico")
    panic("Iniciar pánico")
    fmt.Println("Esta línea de código no es alcanzada")
}

La salida es la siguiente.

Antes de iniciar pánico
panic: Iniciar pánico

goroutine 1 [running]:
main.main()
    /.../061_panic/main.go:7 +0x79
exit status 2

No se recomienda el uso de panic al menos que exista una serie de condiciones en las cuales el sistema no se pueda recuperar tales como.

  • Si el sistema continua su ejecución, mas problemas serán generados, por lo que hay que detenerlo inmediatamente.
  • Existe un escenario que no ha sido cubierto y no se puede manejar, por ende hay que evitarlo.