Διεξαγωγή Εξαιρέσεων στο JavaScript
Για τη διεξαγωγή εξαιρέσεων χρησιμοποιείται
η κατασκευή try-catch. Έχει
την ακόλουθη σύνταξη:
try {
// κώδικας
} catch (error) {
// διαχείριση σφάλματος
}
Στο μπλοκ try πρέπει να τοποθετείται κώδικας
που μπορεί να περιέχει εξαίρεση. Εάν
κατά την εκτέλεση αυτού του κώδικα προκύψει
εξαιρετική κατάσταση, τότε το σενάριο μας δεν
θα καταρρεύσει με σφάλμα στην κονσόλα, αλλά θα αρχίσει να εκτελείται
ο κώδικας του μπλοκ catch.
Σε αυτό το μπλοκ πρέπει με κάποιον επαρκή
τρόπο να αντιδράσουμε στο σφάλμα. Για παράδειγμα,
αν θέλαμε να στείλουμε κάποια δεδομένα
μέσω του διαδικτύου και το διαδίκτυο δεν λειτουργεί,
στο μπλοκ catch μπορούμε να αντιμετωπίσουμε
την κατάσταση: μπορούμε, για παράδειγμα, να εμφανίσουμε μήνυμα
στον χρήστη, ή μετά από κάποιο χρονικό διάστημα
να προσπαθήσουμε να στείλουμε τα δεδομένα ξανά - μήπως
το διαδίκτυο δούλεψε.
Εάν κατά την εκτέλεση του μπλοκ try δεν προκύψουν
εξαιρετικές καταστάσεις, τότε
ο χρήσιμος κώδικας απλά θα εκτελεστεί, ενώ ο κώδικας από
το μπλοκ catch - όχι.
Για παράδειγμα ας προσπαθήσουμε να αναλύσουμε JSON και σε περίπτωση μη έγκυρης μορφής να εμφανίσουμε μήνυμα σχετικά με αυτό:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('αδυναμία εκτέλεσης της λειτουργίας ανάλυσης JSON');
}
Δίνεται κώδικας που εγγράφει κάποια συμβολοσειρά στην τοπική αποθήκη:
let str = 'κάποια συμβολοσειρά';
localStorage.setItem('key', str);
Τυλίξτε αυτόν τον κώδικα στην κατασκευή try-catch.
Στο μπλοκ catch εμφανίστε μήνυμα για
υπερχείλιση της αποθήκης. Ελέγξτε τη λειτουργία
του κώδικά σας για συμβολοσειρά μεγέθους λιγότερο από 5
MB και για συμβολοσειρά μεγαλύτερου μεγέθους.
Δίνεται JSON, μέσα στον οποίο αποθηκεύεται πίνακας.
Εάν αυτός ο JSON είναι έγκυρος, τότε εμφανίστε τα στοιχεία
του πίνακα ως λίστα ul. Εάν όμως
ο JSON δεν είναι έγκυρος, εμφανίστε στην οθόνη μήνυμα
ότι στη σελίδα προέκυψε σφάλμα.