⊗jsSpExcAT 144 of 294 menu

Εφαρμογή τύπων εξαιρέσεων στο JavaScript

Ας υποθέσουμε ότι έχουμε μια συνάρτηση που δέχεται ως παράμετρο JSON με έναν πίνακα δεδομένων και γράφει κάθε στοιχείο αυτού του πίνακα στην τοπική αποθήκευση:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

Σε αυτή τη συνάρτηση, μια εξαιρετική κατάσταση μπορεί να προκύψει σε δύο σημεία: κατά την ανάλυση του JSON και κατά την προσπάθεια αποθήκευσης δεδομένων στην τοπική αποθήκευση.

Ας υποθέσουμε, για παράδειγμα, ότι για την επεξεργασία σφαλμάτων αποφασίσαμε να εμφανίσουμε κάποιο μήνυμα σχετικά με τα προβλήματα:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('κάποια προβλήματα'); }

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

Για να γίνει αυτό, θα διακρίνουμε τα σφάλματα που προέκυψαν βάσει του ονόματος:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('τελείωσε ο χώρος στην αποθήκευση'); } if (error.name == 'SyntaxError') { alert('λανθασμένο JSON'); } }

Αντιγράψτε τον κώδικα της συνάρτησής μου saveData, και στη συνέχεια, χωρίς να κοιτάτε τον δικό μου κώδικα, υλοποιήστε την επεξεργασία σφαλμάτων που περιέγραψα.

Δημιουργήστε σκόπιμα, με τη σειρά, εξαιρετικές καταστάσεις που μπορεί να προκύψουν στη συνάρτηση saveData.

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