Junior — Middle
Какви методи могат да се използват за улавяне и обработка на грешка тип panic в програма?
sobes.tech AI
Отговор от AI
В езика Go механизмът recover за прихващане и обработка на грешки от тип panic се използва заедно с defer. Функцията recover позволява да се улови паника и да се предотврати аварийното спиране на програмата.
Пример:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Уловена паника:", r)
}
}()
// Код, който може да предизвика panic
panic("нещо се обърка")
}
func main() {
safeFunction()
fmt.Println("Програмата продължава")
}
В този пример defer отлага изпълнението на анонимната функция, която извиква recover. Ако в safeFunction възникне паника, тя ще бъде уловена и обработена, което позволява програмата да продължи да работи.