Sobes.tech
Junior — Middle

Milyen esetekben szükséges elkapni és kezelni a pánik hibákat egy programban?

sobes.tech MI

Válasz az MI-től

A pánik (panic) hibák kezelésére akkor van szükség, amikor garantálni kell a program helyes befejezését vagy a kritikus hibák utáni helyreállítást, hogy elkerüljük a váratlan leállást.

Például:

  • Szerveralkalmazásokban, hogy az egész szolgáltatás ne omoljon össze egy hiba miatt.
  • Külső erőforrásokkal való munkánál, hogy helyesen zárja be a fájlokat, kapcsolatokat.
  • Könyvtárakban, hogy lehetőséget adjon a felhasználónak a kritikus hibák kezelésére.

Ehhez a recover() függvényt használják a defer-ben, amely elkapja a pánikot és lehetővé teszi a program folytatását vagy helyes befejezését.

Példa:

func safeFunction() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Elkapott pánik:", r)
        }
    }()

    // Kód, ami pánikot okozhat
    panic("valami rosszul sült el")
}