go / beginner
Snippet
Fehlerbehandlung mit mehreren Rückgabewerten
Go verwendet mehrfache Rückgabewerte für die Fehlerbehandlung, ein grundlegendes Entwurfsmuster. Funktionen geben sowohl einen Wert als auch einen Fehler zurück. Der Fehler ist nil bei Erfolg, sonst enthält er die Fehlermeldung. Das Muster `if err != nil` wird durchgehend in Go-Code verwendet.
snippet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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, 0)if err != nil {fmt.Println("Error:", err)return}fmt.Println("Result:", result)}
Erklärung
1
(int, error)
Funktionssignatur deklariert zwei Rückgabewerte: int und error
2
errors.New("...")
Erstellt einen neuen Fehler mit der gegebenen Nachricht als String
3
return a / b, nil
Gibt Ergebnis als ersten Wert zurück, nil Fehler als zweiten für Erfolgsfall