capypad
0 Tage Serie
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
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
 
import (
"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