Sobes.tech
Junior — Middle

В кои случаи е необходимо да се хванат и обработват грешки на паника в програма?

sobes.tech AI

Отговор от AI

Обработването на грешки от паника (panic) е необходимо в случаите, когато трябва да се гарантира правилното завършване на програмата или възстановяване след критични грешки, за да се избегне аварийното й прекратяване.

Например:

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

За това се използва recover() вътре в отложена функция (defer), която улавя паниката и позволява на програмата да продължи или да се затвори правилно.

Пример:

func safeFunction() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Улавена паника:", r)
        }
    }()

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