Menu
Coddy logo textTech

Entendiendo `panic`

Parte de la sección Lógica y Flujo del Journey de GO de Coddy — lección 42 de 68.

En Go, panic es una función integrada utilizada para situaciones verdaderamente excepcionales en las que su programa encuentra un error irrecuperable y debe detenerse de inmediato. A diferencia de los errores regulares que se manejan con elegancia, panic se reserva para fallos catastróficos que indican que algo anda fundamentalmente mal con la lógica o el entorno de su programa.

Cuando se llama a panic, detiene inmediatamente la ejecución normal de la función actual y comienza a desenrollar la pila de llamadas. Esto lo hace muy diferente del enfoque típico de Go de devolver errores que pueden ser manejados por el código que realiza la llamada.

En el Go idiomático, panic se usa raramente. La comunidad de Go favorece fuertemente el manejo explícito de errores a través de valores de retorno en lugar del manejo de errores basado en pánicos. Podrías encontrar panic en situaciones como acceder a un array fuera de los límites, desreferenciar un puntero nil, o cuando una librería detecta un estado imposible que indica un error de programación.

La mayoría de los programas en Go deberían manejar los errores de forma elegante utilizando la interfaz de error estándar sobre la que has estado aprendiendo. panic solo debe considerarse cuando realmente no hay una forma razonable de que tu programa continúe ejecutándose.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Hoja de referencia

En Go, panic es una función incorporada para errores irrecuperables que detiene la ejecución del programa de inmediato:

panic("something went terribly wrong")

Cuando se llama a panic, detiene la función actual y desenrolla la pila de llamadas. Usa panic con moderación, solo para fallos catastróficos donde el programa no pueda continuar. Go favorece el manejo explícito de errores a través de valores de retorno en lugar del manejo de errores basado en pánicos.

Las situaciones comunes de pánico incluyen el acceso a arreglos fuera de los límites, la desreferencia de punteros nil o estados imposibles del programa que indican errores.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo