Sobes.tech
Middle — Middle+

Como deve declarar corretamente o mecanismo de recuperação no sistema?

sobes.tech IA

Resposta da IA

Em Go, o mecanismo recover é utilizado para capturar pânicos (panic) e evitar o encerramento inesperado do programa. A declaração e uso corretos de recover devem ocorrer dentro de uma função diferida usando defer. Isso permite capturar o pânico se ele ocorrer na função chamada e tratá-lo.

Exemplo de uso correto:

func safeCall() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Recuperado de um panic:", r)
        }
    }()

    // Código que pode causar panic
    panic("algo deu errado")
}

Pontos principais:

  • recover funciona apenas dentro de funções diferidas (defer).
  • Se recover for chamado fora de defer, ele não capturará o panic.
  • Geralmente, recover é usado para registrar erros e garantir a estabilidade do programa.