Middle
155
questionbank
Что такое функция recover в Go?
Ответ от нейросети
sobes.tech AI
Функция recover в Go используется для перехвата паники (panic).
recover()возвращает nil, если паника не происходит или если она не была вызвана внутри отложенной (defer) функции.- Если
panicвызвана, иrecover()вызывается внутриdefer-функции,recover()перехватывает значение, переданное вpanic, и прекращает распространение паники. - Без
recoverпаника прерывает нормальное выполнение программы.
Пример использования:
package main
import "fmt"
func main() {
defer func() { // Отложенная функция, где используется recover
if r := recover(); r != nil {
fmt.Println("Recovered from panic:", r)
}
}()
fmt.Println("Программа начинается")
panic("Что-то пошло не так!") // Вызываем панику
fmt.Println("Этот код не будет выполнен")
}