Sobes.tech
Junior — Middle

Akými metódami možno zachytiť a spracovať chybu typu panic v programe?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa mechanizmus recover spolu s defer používa na zachytenie a spracovanie chýb typu panic. Funkcia recover umožňuje zachytiť panic a zabrániť neočakávanému ukončeniu programu.

Príklad:

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

    // Kód, ktorý môže spôsobiť panic
    panic("niečo sa pokazilo")
}

func main() {
    safeFunction()
    fmt.Println("Program pokračuje")
}

V tomto príklade defer odkladá vykonanie anonymnej funkcie, ktorá volá recover. Ak dôjde k panic v safeFunction, bude zachytená a spracovaná, čo umožní programu pokračovať v práci.