Junior — Middle
Hoe wordt foutafhandeling geïmplementeerd in de programmeertaal Go, vergelijkbaar met het uitzonderingsmechanisme in andere programmeertalen?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go wordt foutafhandeling geïmplementeerd via geretourneerde waarden, niet via uitzonderingen, zoals in veel andere talen. Functies en methoden retourneren meestal twee waarden: het resultaat en de fout (error). Als de fout niet nil is, betekent dit dat er een fout is opgetreden en moet deze worden afgehandeld.
Voorbeeld van foutafhandeling in Go:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("deling door nul")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Fout:", err)
return
}
fmt.Println("Resultaat:", result)
}
Op deze manier kent Go geen try-catch-constructie; in plaats daarvan worden fouten expliciet doorgegeven en gecontroleerd, wat een duidelijkere en gecontroleerde foutafhandeling bevordert.