Έστω ότι εχω δηλώσει μια μεταβλητή α ακέραια και στην πορεία του προγράμματος διαβάζω μια τιμή από το πληκτρολόγιο τύπου χαρακτήρες. Στον διερμηνευτή σταματάει η εκτέλεση, ενώ στην γλωσσομάθεια ξανά ζητάει μέχρι να πάρει ακέραια τιμή. Αυτο μετράει σαν κάποιο λάθος και αν ναι τι τύπου
λάθος ;
Στον Διερμηνευτή υπάρχει σχετικός διάλογος (https://alkisg.mysch.gr/%CE%92%CE%BF%CE%AE%CE%B8%CE%B5%CE%B9%CE%B1/#epilogesGlwssa):
Παράθεση από: https://alkisg.mysch.gr/Βοήθεια/#epilogesGlwssaΈλεγχος δεδομένων κατά την είσοδο: Αν είναι επιλεγμένο τότε δεν επιτρέπεται να δώσουμε γράμματα όταν το πρόγραμμα διαβάζει αριθμούς (ή τελεία για ακέραιους). Αν δεν είναι επιλεγμένο τότε μπορούμε να εισάγουμε ό,τι θέλουμε, αλλά στην περίπτωση αυτή μπορεί να προκύψουν λάθη εκτέλεσης.
Αυτή η ρύθμιση αφορά το RUNTIME του Διερμηνευτή, τις "βιβλιοθήκες εκτέλεσής" του.
Γι' αυτό και ονομάζονται λάθη χρόνου εκτέλεσης, επειδή ο κώδικας που θα σταματήσει την εκτέλεση του προγράμματος και θα εμφανίσει μήνυμα λάθους, ανήκει στον Διερμηνευτή ή γενικότερα στο περιβάλλον εκτέλεσης.
Άρα για να απαντήσω συγκεκριμένα την ερώτηση, η περίπτωση "λάθος δεδομένα εισόδου", ανάλογα με το runtime, μπορεί να έχει υλοποιηθεί ως "λάθος χρόνου εκτέλεσης".
(έστω ένα χρόνο μετά.. )
συμπληρωματικό βιβλίο μαθητή ("Πληροφορική"), σελίδα 117, αναφέρει ακριβώς τέτοια περίπτωση ως αντικανονικού τερματισμού:
"Ένα πρόγραμμα μπορεί να τερματίσει αντικανονικά (...) για παράδειγμα, αν κατά την ανάγνωση ενός ακεραίου αριθμού εισαχθεί ένα γράμμα."