Recover

Go possibilita a recuperação de um pânico, usando a função interna de recuperação. Uma recuperação pode impedir um pânico de abortar o programa e deixá-lo continuar com a execução.

Um exemplo de onde isso pode ser útil: um servidor não gostaria de travar se uma das conexões do cliente apresentar um erro crítico. Em vez disso, o servidor deseja fechar essa conexão e continuar atendendo a outros clientes.


if r := recover(); r != nil {
    // Tratar panic aqui
}
                        
recover.go