Back to questions
Middle — Middle+
71
Каким образом нужно правильно объявить механизм Recovery в системе?
Companies where asked
Самокат Тех
Answer from AI
sobes.tech AI
В Go механизм recover используется для перехвата паники (panic) и предотвращения аварийного завершения программы. Правильное объявление и использование recover должно происходить внутри функции, отложенной с помощью defer. Это позволяет поймать панику, если она произошла в вызываемой функции, и обработать её.
Пример правильного использования:
func safeCall() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered from panic:", r)
}
}()
// Код, который может вызвать панику
panic("something went wrong")
}
Ключевые моменты:
recoverработает только внутри отложенной функции (defer).- Если
recoverвызывается внеdefer, он не поймает панику. - Обычно
recoverиспользуется для логирования ошибок и обеспечения устойчивости программы.