Sobes.tech
Junior — Middle

Πώς υλοποιείται η διαχείριση σφαλμάτων στη γλώσσα Go, παρόμοια με τον μηχανισμό εξαιρέσεων σε άλλες γλώσσες προγραμματισμού;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go, η διαχείριση σφαλμάτων υλοποιείται μέσω των τιμών επιστροφής, και όχι μέσω εξαιρέσεων, όπως σε πολλές άλλες γλώσσες. Οι συναρτήσεις και οι μέθοδοι επιστρέφουν συνήθως δύο τιμές: το αποτέλεσμα και το σφάλμα (error). Αν το σφάλμα δεν είναι nil, σημαίνει ότι συνέβη ένα σφάλμα και πρέπει να διαχειριστεί.

Παράδειγμα διαχείρισης σφαλμάτων σε Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("διαίρεση με το μηδέν")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Σφάλμα:", err)
        return
    }
    fmt.Println("Αποτέλεσμα:", result)
}

Έτσι, στη Go δεν υπάρχει κατασκευή try-catch, αντ' αυτού, τα σφάλματα μεταδίδονται και ελέγχονται ρητά, κάτι που προάγει μια πιο σαφή και ελεγχόμενη διαχείριση σφαλμάτων.