Junior — Middle
Hogyan kezelik a kivételeket és hibákat az alkalmazásában?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a hibakezelés eltér a sok más nyelvtől, mivel itt nincsenek hagyományos értelemben vett kivételek. Ehelyett a függvények általában hibát (error) adnak vissza második eredményként.
Fő megközelítések:
-
Hiba ellenőrzése a függvényhívás után:
result, err := someFunction() if err != nil { // hiba kezelése log.Println("Hiba:", err) return err } // folytatás a resulttel -
Saját hibatípusok létrehozása
errors.Newvagyfmt.Errorfsegítségével, informatívabb üzenetekhez. -
Panic (
panic) és recover (recover) ritkán használt, főként kritikus hibák esetén, amik nem fordulhatnak elő normál folyamatban. -
Hibák naplózása és azok visszaküldése a verem tetejére központosított kezeléshez.
Hiba kezelési példa:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("nullával való osztás")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Hiba:", err)
return
}
fmt.Println("Eredmény:", result)
}
Így a Go nyelvben a hibák explicit módon kezeltek, ami növeli a kód olvashatóságát és megbízhatóságát.