Sobes.tech
Junior — Middle

Dasturda panic turidagi xatoni ushlash va qayta ishlash uchun qanday usullar mavjud?

sobes.tech AI

AIdan javob

Go tilida, panic turidagi xatolarni ushlash va boshqarish uchun recover mexanizmi defer bilan birga ishlatiladi. recover funksiyasi panikani ushlash va dasturning to‘satdan tugashini oldini olish imkonini beradi.

Misol:

func safeFunction() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Yakunlangan panika:", r)
        }
    }()

    // panic chaqirishi mumkin bo‘lgan kod
    panic("narsalar noto‘g‘ri ketdi")
}

func main() {
    safeFunction()
    fmt.Println("Dastur davom etmoqda")
}

Ushbu misolda, defer anonim funksiyaning bajarilishini kechiktiradi va u recover chaqiradi. Agar safeFunction ichida panika yuz bersa, u ushlanadi va boshqariladi, bu esa dasturning davom etishini ta'minlaydi.