Go · Essencial · Inglês · Técnico
panic
Função embutida que interrompe o fluxo normal, executa os defers pendentes e derruba o programa com um stack trace, a menos que um recover a contenha.
Onde usar
Reservado a situações irrecuperáveis, como estado impossível ou erro de programação. Em código de biblioteca, o esperado é devolver um error, não disparar panic.
Em código
func mustPositive(n int) int {
if n <= 0 {
panic("n deve ser positivo")
}
return n
}Exemplos
The program hit a panic: index out of range.
O programa deu um panic: índice fora do intervalo.
Libraries should return errors, not call panic.
Bibliotecas devem devolver erros, não chamar panic.
Cuidado
Não use panic como exceção de uso comum; erros esperados, como arquivo ausente, viajam como valor de retorno.
Origem
Do grego panikós, 'de Pã', deus ligado ao medo súbito.