Menu
Coddy logo textTech

Entendendo o `panic`

Parte da seção Lógica & Fluxo do Journey de GO da Coddy — lição 42 de 68.

Em Go, panic é uma função integrada usada para situações verdadeiramente excepcionais em que seu programa encontra um erro irrecuperável e deve parar imediatamente. Ao contrário de erros comuns que você trata de forma adequada, panic é reservado para falhas catastróficas que indicam algo fundamentalmente errado com a lógica ou o ambiente do seu programa.

Quando panic é chamado, ele interrompe imediatamente a execução normal da função atual e começa a desenrolar a pilha de chamadas. Isso o torna muito diferente da abordagem típica do Go de retornar erros que podem ser tratados pelo código chamador.

Em Go idiomático, o panic é raramente usado. A comunidade Go favorece fortemente o tratamento explícito de erros por meio de valores de retorno, em vez de um tratamento de erros baseado em pânico. Você pode encontrar o panic em situações como acessar um array fora dos limites, desreferenciar um ponteiro nulo ou quando uma biblioteca detecta um estado impossível que indica um erro de programação.

A maioria dos programas Go deve lidar com erros de forma adequada usando a interface de erro padrão sobre a qual você tem aprendido. panic deve ser considerado apenas quando realmente não houver uma maneira razoável para o seu programa continuar em execução.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Folha de consulta

Em Go, panic é uma função integrada para erros irrecuperáveis que interrompe a execução do programa imediatamente:

panic("something went terribly wrong")

Quando o panic é chamado, ele interrompe a função atual e desenrola a pilha de chamadas (call stack). Use panic com moderação - apenas para falhas catastróficas onde o programa não pode continuar. Go favorece o tratamento explícito de erros por meio de valores de retorno em vez do tratamento de erros baseado em pânico.

Situações comuns de pânico incluem acesso a array fora dos limites, desreferência de ponteiro nulo ou estados impossíveis do programa que indicam bugs.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo