ExpertiDict

Go · Essencial · Inglês · Técnico

panic

/ˈpæn.ɪk/função embutida

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.

Veja também

Todos os termos de Go