Junior — Middle
Jak w języku Go realizowana jest obsługa błędów, podobnie jak mechanizm wyjątków w innych językach programowania?
sobes.tech AI
Odpowiedź od AI
W języku Go obsługa błędów realizowana jest za pomocą wartości zwracanych, a nie wyjątków, jak w wielu innych językach. Funkcje i metody zazwyczaj zwracają dwie wartości: wynik i błąd (error). Jeśli błąd nie jest nil, oznacza to, że wystąpił błąd i należy go obsłużyć.
Przykład obsługi błędów w Go:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("dzielenie przez zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Błąd:", err)
return
}
fmt.Println("Wynik:", result)
}
W ten sposób w Go nie ma konstrukcji try-catch, zamiast tego błędy są przekazywane i jawnie sprawdzane, co sprzyja bardziej przejrzystemu i kontrolowanemu zarządzaniu błędami.