Middle — Middle+
Πώς πρέπει να δηλωθεί σωστά ο μηχανισμός Recovery στο σύστημα;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, ο μηχανισμός recover χρησιμοποιείται για την ανίχνευση panic και την αποτροπή απότομου τερματισμού του προγράμματος. Η σωστή δήλωση και χρήση του recover πρέπει να γίνεται μέσα σε μια καθυστερημένη λειτουργία με τη βοήθεια του defer. Αυτό επιτρέπει να πιαστεί το panic αν συνέβη στη λειτουργία που καλείται και να διαχειριστεί.
Παράδειγμα σωστής χρήσης:
func safeCall() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Αντιμετωπίστηκε panic:", r)
}
}()
// Κώδικας που μπορεί να προκαλέσει panic
panic("κάτι πήγε στραβά")
}
Βασικά σημεία:
- Το
recoverλειτουργεί μόνο μέσα σε μια καθυστερημένη λειτουργία (defer). - Αν το
recoverκαλείται εκτόςdefer, δεν θα πιάσει το panic. - Συνήθως, το
recoverχρησιμοποιείται για την καταγραφή σφαλμάτων και την διασφάλιση της σταθερότητας του προγράμματος.