Junior — Middle
Jakie rodzaje wyjątków lub błędów można obsługiwać w języku Go?
sobes.tech AI
Odpowiedź od AI
W języku Go nie ma tradycyjnego systemu wyjątków, jak w niektórych innych językach. Zamiast tego błędy są obsługiwane za pomocą wartości zwracanych typu error.
Główne sposoby obsługi błędów w Go:
- Zwracanie błędu z funkcji: funkcja zwraca wartość i błąd, które należy sprawdzić.
- Panik (
panic) i odzyskiwanie (recover): służą do obsługi krytycznych błędów, które zwykle prowadzą do zatrzymania programu, ale mogą być przechwycone.
Przykład obsługi błędu:
func readFile(filename string) ([]byte, error) {
data, err := os.ReadFile(filename)
if err != nil {
return nil, err
}
return data, nil
}
func main() {
data, err := readFile("file.txt")
if err != nil {
fmt.Println("Błąd podczas odczytu pliku:", err)
return
}
fmt.Println(string(data))
}
W ten sposób w Go obsługiwane są błędy zwracane przez funkcje, a nie wyjątki w klasycznym rozumieniu.