Wie werden Ausnahmen und Fehler in Ihrer Anwendung verwaltet?
sobes.tech KI
Antwort von AI
In Go unterscheidet sich die Fehlerbehandlung von vielen anderen Sprachen, da es hier keine herkömmlichen Ausnahmen gibt. Stattdessen geben Funktionen in der Regel einen Fehler (error) als zweiten Rückgabewert zurück.
Hauptansätze:
-
Fehlerüberprüfung nach Funktionsaufruf:
result, err := someFunction() if err != nil { // Fehlerbehandlung log.Println("Fehler:", err) return err } // Weiterverarbeitung mit result -
Eigene Fehler-Typen erstellen mit
errors.Newoderfmt.Errorffür aussagekräftigere Nachrichten. -
Panik (
panic) und Wiederherstellung (recover) werden selten verwendet, hauptsächlich bei kritischen Fehlern, die im normalen Ablauf nicht auftreten sollten. -
Fehlerprotokollierung und Weitergabe nach oben in der Stapel für eine zentrale Fehlerbehandlung.
Beispiel für Fehlerbehandlung:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("Division durch Null")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Fehler:", err)
return
}
fmt.Println("Ergebnis:", result)
}
Auf diese Weise werden Fehler in Go explizit behandelt, was die Lesbarkeit und Zuverlässigkeit des Codes erhöht.