Sobes.tech
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 възникне паника, тя ще бъде уловена и обработена, което позволява програмата да продължи да работи.