Sobes.tech
Junior — Middle

Kādiem veidiem var aizķert un apstrādāt panic tipa kļūdu programmā?

sobes.tech AI

Atbilde no AI

Go valodā mehānisms recover kopā ar defer tiek izmantots, lai noķertu un apstrādātu panikas veida kļūdas. Funkcija recover ļauj noķert paniku un novērst programmas negaidītu pārtraukšanu.

Piemērs:

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

    // Kods, kas var izraisīt paniku
    panic("kaut kas nogāja greizi")
}

func main() {
    safeFunction()
    fmt.Println("Programma turpinās")
}

Šajā piemērā defer atlikt anonīmas funkcijas izpildi, kas izsauc recover. Ja safeFunction gadījumā notiek panika, tā tiks noķerta un apstrādāta, ļaujot programmai turpināt darbu.