Sobes.tech
Junior — Middle

Sind Sie sich bewusst, was Ausnahmen (Exception) in der Programmiersprache Go sind?

sobes.tech KI

Antwort von AI

In der Programmiersprache Go gibt es keine traditionellen Ausnahmen (Exception) wie in Java oder Python. Stattdessen verwendet Go Rückgabewerte zur Fehlerbehandlung: Die Funktion gibt einen Fehlerwert (error) zurück, der überprüft werden muss.

Es gibt jedoch in Go einen Mechanismus namens Panic und Recover, der als Analogie zu Ausnahmen betrachtet werden kann, aber für kritische Fehler gedacht ist und nicht für die normale Fehlerbehandlung verwendet werden sollte.

Beispiel für Fehlerbehandlung in Go:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("Division durch Null")
    }
    return a / b, nil
}

Ergebnis, err := divide(10, 0)
if err != nil {
    fmt.Println("Fehler:", err)
} else {
    fmt.Println("Ergebnis:", Ergebnis)
}

Verwendung von panic/recover:

func mayPanic() {
    panic("Etwas ist schief gelaufen")
}

func main() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Wurde nach Panic wiederhergestellt:", r)
        }
    }()
    mayPanic()
    fmt.Println("Dieser Code wird nicht ausgeführt")
}