Sobes.tech
Middle — Middle+

Как правилно да се обяви механизмът Recovery в системата?

sobes.tech AI

Отговор от AI

В езика Go механизмът recover се използва за прихващане на panic и предотвратяване на аварийното затваряне на програмата. Правилното обявяване и използване на recover трябва да се извършва вътре във функция, отложена с defer. Това позволява да се улови паниката, ако е възникнала във функцията, която е била извикана, и да се обработи.

Пример за правилна употреба:

func safeCall() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Възстановен от паника:", r)
        }
    }()

    // Код, който може да предизвика паника
    panic("нещо се обърка")
}

Ключови точки:

  • recover работи само вътре във функция, отложена с defer.
  • Ако recover бъде извикан извън defer, той няма да улови паниката.
  • Обикновено recover се използва за логване на грешки и гарантиране на стабилността на програмата.