⊗jsSpExcCt 139 of 294 menu

Διεξαγωγή Εξαιρέσεων στο 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 δεν είναι έγκυρος, εμφανίστε στην οθόνη μήνυμα ότι στη σελίδα προέκυψε σφάλμα.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη