Sobes.tech
Junior — Middle

Weet u wat uitzonderingen (Exception) zijn in de programmeertaal Go?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go bestaan geen traditionele uitzonderingen (Exception) zoals in Java of Python. In plaats daarvan gebruikt Go terugkeerwaarden voor foutafhandeling: de functie retourneert een foutwaarde (error), die gecontroleerd moet worden.

Echter, in Go is er een mechanisme van paniek (panic) en herstel (recover), dat als een analoog aan uitzonderingen kan worden beschouwd, maar bedoeld is voor kritieke fouten en niet voor normale foutafhandeling.

Voorbeeld van foutafhandeling in Go:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("deling door nul")
    }
    return a / b, nil
}

resultaat, err := divide(10, 0)
if err != nil {
    fmt.Println("Fout:", err)
} else {
    fmt.Println("Resultaat:", resultaat)
}

Gebruik van panic/recover:

func mayPanic() {
    panic("iets ging mis")
}

func main() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Hersteld na panic:", r)
        }
    }()
    mayPanic()
    fmt.Println("Deze code wordt niet uitgevoerd")
}