Περιγράψτε το χειρισμό ενός λάθους που εμφανίζεται κατά το χρόνο εκτέλεσης ενός προγράμματος.
Σκέψη / Μεθοδολογία: Περιγράφουμε τον μηχανισμό ανίχνευσης/χειρισμού λάθους και τις τρεις βασικές στρατηγικές αντιμετώπισης που αναλύονται στο §13.4.
Λύση:
Περιγράφουμε τα βήματα του μηχανισμού χειρισμού λάθους και τις εναλλακτικές ενέργειες που μπορεί να ακολουθήσει ο προγραμματιστής.
Απάντηση: Όταν προκληθεί ένα λάθος κατά την εκτέλεση, ο μηχανισμός ανίχνευσης λαθών του περιβάλλοντος προγραμματισμού μεταφέρει τη ροή εκτέλεσης σε ένα τμήμα κώδικα χειρισμού λάθους (exception/error handler), που συνήθως περιγράφει το λάθος με έναν αριθμό. Ο προγραμματιστής μπορεί τότε να ακολουθήσει μία από τρεις στρατηγικές: (α) να διορθώσει το λάθος —ή να δώσει στον χρήστη τη δυνατότητα να το διορθώσει— και να επιστρέψει τη ροή εκτέλεσης στην εντολή που το προκάλεσε· (β) αν το λάθος δεν είναι κρίσιμο, να μεταφέρει τη ροή στην επόμενη εντολή, αγνοώντας το· ή (γ) αν το λάθος είναι κρίσιμο, να ενημερώσει τον χρήστη και να τερματίσει το πρόγραμμα (λύση που πρέπει να αποφεύγεται όσο είναι δυνατό). Οι γλώσσες Java, ADA και C++ υλοποιούν αυτόν τον μηχανισμό με εξαιρέσεις (exceptions), ενώ η Visual Basic με την εντολή On Error GoTo.
Πρόσεξε:
