go / beginner
Snippet
Fehler erstellen und behandeln
Go behandelt Fehler explizit über Rückgabewerte, nicht über Exceptions. Funktionen geben einen Fehler als letzten Rückgabewert zurück. nil bedeutet, dass kein Fehler aufgetreten ist. Die Funktion errors.New() erstellt eine einfache Fehlermeldung. Überprüfe Fehler immer bevor du andere Rückgabewerte verwendest.
snippet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package mainimport ("errors""fmt")func divide(a, b int) (int, error) {if b == 0 {return 0, errors.New("division by zero")}return a / b, nil}func main() {result, err := divide(10, 2)if err != nil {fmt.Println("Error:", err)return}fmt.Printf("Result: %d\n", result)_, err = divide(5, 0)if err != nil {fmt.Println("Caught error:", err)}}
Erklärung
1
func divide(a, b int) (int, error)
Fehler wird als letzter Wert zurückgegeben; Aufrufer müssen ihn prüfen
2
errors.New("division by zero")
Erstellt einen neuen Fehler mit der gegebenen Meldungstext
3
return a / b, nil
nil zurückgegeben wenn Operation erfolgreich; signalisiert keinen Fehler an Aufrufer
4
if err != nil { ... }
Standardmuster: prüfe ob Fehler nicht nil ist, dann behandle ihn