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