Μετάβαση στο περιεχόμενο
Ενότητα 6

Διαχείριση σφαλμάτων και ασφάλεια

Γράψτε ισχυρό κώδικα C++ με σωστό χειρισμό σφαλμάτων — εξαιρέσεις, εγγυήσεις ασφάλειας RAII, τύπους αθροίσματος και αμυντικά μοτίβα προγραμματισμού.

Εξαιρέσεις & Στρατηγικές Σφαλμάτων

  1. Εξαιρέσεις: ρίξε, δοκίμασε, πιάσε

    Κατανοήστε τον μηχανισμό εξαιρέσεων C++ — ξετύλιγμα στοίβας, την τυπική ιεραρχία εξαιρέσεων, προσαρμοσμένες εξαιρέσεις και πότε να προτιμάτε τις εξαιρέσεις έναντι των κωδικών σφαλμάτων.

  2. Εξαίρεση Εγγυήσεις Ασφαλείας

    Μάθετε τα τρία επίπεδα ασφάλειας εξαίρεσης — βασικό, ισχυρό και μη ρίψη — και πώς τα παρέχουν το RAII και το copy-and-swap.

  3. Στρατηγικές χειρισμού σφαλμάτων: Επιλέγοντας τη σωστή προσέγγιση

    Συγκρίνετε εξαιρέσεις, κωδικούς σφάλματος και std::expected — μάθετε πότε είναι κατάλληλη κάθε προσέγγιση και πώς να χειρίζεστε σφάλματα σε κατασκευαστές, καταστροφείς και κώδικα πολλαπλών νημάτων.

Τύπος Ασφάλεια & Αμυντικός Προγραμματισμός

  1. std::προαιρετικό, std::variant & std::αναμενόμενο

    Χρησιμοποιήστε τύπους αθροίσματος C++17/23 για να αναπαραστήσετε τιμές μηδενικές, ενώσεις ασφαλείς για τον τύπο και επιστροφές τιμής ή σφάλματος — εξαλείφοντας ολόκληρες κατηγορίες σφαλμάτων τη στιγμή της μεταγλώττισης.

  2. Τύπος Ασφάλεια, Δηλώσεις & Συμβάσεις

    Αξιοποιήστε το σύστημα τύπου C++ για να αποτρέψετε σφάλματα κατά το χρόνο μεταγλώττισης — ισχυροί αριθμοί, το μοτίβο νέου τύπου, static_assert, ισχυρισμοί χρόνου εκτέλεσης και η λειτουργία επερχόμενων συμβάσεων.

  3. Κατανόηση & Αποφυγή Απροσδιόριστης Συμπεριφοράς

    Μάθετε τι είναι η απροσδιόριστη συμπεριφορά, γιατί υπάρχει, πώς την εκμεταλλεύονται οι μεταγλωττιστές για βελτιστοποίηση και πώς να την εντοπίζουν με απολυμαντικά και προειδοποιήσεις μεταγλωττιστή.