Η τρέχουσα πρακτική ορίζει ένα μεγάλο enum σφαλμάτων ανά module ή crate, με αποτέλεσμα οι συναρτήσεις να επιστρέφουν παραλλαγές που δεν μπορούν να παράγουν.
Αυτή η προσέγγιση δυσχεραίνει την έκφραση απαιτήσεων μέσω του type system και απαιτεί χρονοβόρες μετατροπές μεταξύ enum.
Εναλλακτικά, κάθε σφάλμα μπορεί να αναπαρίσταται ως struct και να συνδυάζεται σε σύνολα σφαλμάτων (error sets) μέσω crates όπως το terrors.
Το crate error_set χρησιμοποιεί macros για σύντομο ορισμό enums και ενώσεων, επιτρέποντας τον τελεστή ? σε υποσύνολα σφαλμάτων.
Υπάρχουν κι άλλες βιβλιοθήκες (π.χ. SmartErr) που διερευνούν παρόμοια παραδείγματα, αλλά παραμένει πιο λεκτικό όταν χρησιμοποιούνται structs με πεδία.
Get notified when new stories are published for "🇬🇷 Hacker News Ελληνικά"