Δήλωση ρίψης JavaScript

Σε αυτό το σεμινάριο, θα μάθετε για τις δηλώσεις ρίψης JavaScript με τη βοήθεια παραδειγμάτων.

Στο προηγούμενο σεμινάριο, μάθατε να χειρίζεστε εξαιρέσεις χρησιμοποιώντας το JavaScript try… catch statement. Οι δηλώσεις δοκιμής και σύλληψης χειρίζονται εξαιρέσεις με έναν τυπικό τρόπο που παρέχεται από τη JavaScript. Ωστόσο, μπορείτε να χρησιμοποιήσετε τη throwδήλωση για να περάσετε εξαιρέσεις που καθορίζονται από το χρήστη.

Στο JavaScript, η throwδήλωση χειρίζεται εξαιρέσεις που καθορίζονται από το χρήστη. Για παράδειγμα, εάν ένας συγκεκριμένος αριθμός διαιρείται με το 0 και εάν πρέπει να λάβετε υπόψη Infinityως εξαίρεση, μπορείτε να χρησιμοποιήσετε τη throwδήλωση για να χειριστείτε αυτήν την εξαίρεση.

Δήλωση ρίψης JavaScript

Η σύνταξη της δήλωσης ρίψης είναι:

 throw expression;

Εδώ, expressionκαθορίζει την τιμή της εξαίρεσης.

Για παράδειγμα,

 const number = 5; throw number/0; // generate an exception when divided by 0

Σημείωση : Η έκφραση μπορεί να είναι συμβολοσειρά, boolean, αριθμός ή τιμή αντικειμένου.

Ρίξτε JavaScript με δοκιμή… πιάστε

Η σύνταξη του try… catch… throwείναι:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Σημείωση : Όταν εκτελείται η δήλωση ρίψης, βγαίνει από το μπλοκ και πηγαίνει στο catchμπλοκ. Και ο κώδικας κάτω από τη throwδήλωση δεν εκτελείται.

Παράδειγμα 1: δοκιμάστε… πιάστε… ρίξτε Παράδειγμα

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Παραγωγή

 Παρουσιάστηκε σφάλμα Μήνυμα σφάλματος: Σφάλμα: Ο αριθμός είναι χαμηλός

Στο παραπάνω πρόγραμμα, ελέγχεται μια συνθήκη. Εάν ο αριθμός είναι μικρότερος από 51 , εμφανίζεται ένα σφάλμα. Και αυτό το σφάλμα ρίχνεται χρησιμοποιώντας τη throwδήλωση.

Η throwδήλωση καθορίζει τη συμβολοσειρά The number is lowως έκφραση.

Σημείωση : Μπορείτε επίσης να χρησιμοποιήσετε άλλες ενσωματωμένο σφάλμα κατασκευαστές για τα τυπικά σφάλματα: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, και RangeError.

Για παράδειγμα,

 throw new ReferenceError('this is reference error');

Ανακαλύψτε μια εξαίρεση

Μπορείτε επίσης να χρησιμοποιήσετε τη throwδήλωση μέσα στο catchμπλοκ για να ανακατευθύνετε μια εξαίρεση. Για παράδειγμα,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Παραγωγή

 Παρουσιάστηκε σφάλμα Μήνυμα σφάλματος: Σφάλμα: Αυτό έχει επιλυθεί

Στο παραπάνω πρόγραμμα, η throwδήλωση χρησιμοποιείται εντός του tryμπλοκ για να εντοπίσει μια εξαίρεση. Και η throwδήλωση επανεξετάζεται στο catchμπλοκ που εκτελείται εάν το catchμπλοκ δεν μπορεί να χειριστεί την εξαίρεση.

Εδώ, το catchμπλοκ χειρίζεται την εξαίρεση και δεν παρουσιάζεται σφάλμα. Ως εκ τούτου, η throwδήλωση δεν επανεξετάζεται.

Εάν το λάθος δεν αντιμετωπιστεί από το μπλοκ catch, η δήλωση ρίψης θα επανεξεταστεί με το μήνυμα σφάλματος Uncaught Error: Η τιμή είναι χαμηλή

ενδιαφέροντα άρθρα...