Junior — Middle
Τι είδους εξαιρέσεις ή σφάλματα μπορούν να διαχειριστούν στη γλώσσα Go;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go δεν υπάρχει παραδοσιακό σύστημα εξαιρέσεων, όπως σε ορισμένες άλλες γλώσσες. Αντ' αυτού, τα σφάλματα διαχειρίζονται με τη βοήθεια τιμών επιστροφής του τύπου error.
Οι κύριοι τρόποι διαχείρισης σφαλμάτων στο Go:
- Επιστροφή σφάλματος από μια συνάρτηση: η συνάρτηση επιστρέφει μια τιμή και ένα σφάλμα, τα οποία πρέπει να ελεγχθούν.
- Panic (
panic) και ανάκτηση (recover): χρησιμοποιούνται για τη διαχείριση κρίσιμων σφαλμάτων που συνήθως οδηγούν σε διακοπή του προγράμματος, αλλά μπορούν να πιαστούν.
Παράδειγμα διαχείρισης σφαλμάτων:
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("Σφάλμα κατά την ανάγνωση του αρχείου:", err)
return
}
fmt.Println(string(data))
}
Έτσι, στο Go, τα σφάλματα που επιστρέφονται από τις συναρτήσεις διαχειρίζονται, και όχι οι εξαιρέσεις με την κλασική έννοια.