Junior — Middle
Go-da defer daxilində recover funksiyasını istifadə etməyin ehtiyacı nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, recover funksiyası panic hallarını ələ keçirmək və proqramın qəfil bağlanmasının qarşısını almaq üçün istifadə olunur. Ancaq, recover yalnız defer daxilində çağırıldıqda işləyir.
recover-in defer daxilində istifadəsi aşağıdakı imkanları verir:
- Panik vəziyyətini təhlükəsiz şəkildə idarə etmək, məsələn, xətanı qeyd etmək və ya resursları təmizləmək.
- Əgər mümkünsə, panikadan sonra proqramın icrasını davam etdirmək.
Nümunə:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Panikdən qurtuldu:", r)
}
}()
// Panic yarada biləcək kod
panic("nəsə səhv getdi")
}
Əgər recover defer xaricində çağırılırsa, o, paniki tutmayacaq və proqram qəfil bağlanacaq. Ona görə də, recover hər zaman düzgün işləməsi üçün defer daxilində yerləşdirilməlidir.