JavaScript δοκιμάστε ... πιάστε ... τέλος Δήλωση

Σε αυτό το σεμινάριο, θα μάθετε για τη δοκιμή… catch… τελικά δηλώσεις για τον χειρισμό εξαιρέσεων σε JavaScript με τη βοήθεια παραδειγμάτων.

Τα try, catchκαι finallyμπλοκ χρησιμοποιούνται για τον χειρισμό εξαιρέσεων (ένας τύπος σφάλματος). Πριν μάθετε για αυτά, πρέπει να γνωρίζετε για τους τύπους σφαλμάτων στον προγραμματισμό.

Τύποι σφαλμάτων

Στον προγραμματισμό, μπορεί να υπάρχουν δύο τύποι σφαλμάτων στον κώδικα:

Σφάλμα σύνταξης : Σφάλμα στη σύνταξη. Για παράδειγμα, αν γράψετε consol.log('your result');, το παραπάνω πρόγραμμα προκαλεί σφάλμα σύνταξης. Η ορθογραφία consoleείναι λάθος στον παραπάνω κώδικα.

Σφάλμα χρόνου εκτέλεσης : Αυτός ο τύπος σφάλματος παρουσιάζεται κατά την εκτέλεση του προγράμματος. Για παράδειγμα, η
κλήση μιας μη έγκυρης συνάρτησης ή μιας μεταβλητής.

Αυτά τα σφάλματα που παρουσιάζονται κατά τη διάρκεια του χρόνου ονομάζονται εξαιρέσεις . Τώρα, ας δούμε πώς μπορείτε να χειριστείτε αυτές τις εξαιρέσεις.

Δοκιμάστε το JavaScript… πιάστε το Statement

Η try… catchδήλωση χρησιμοποιείται για τον χειρισμό των εξαιρέσεων. Η σύνταξή του είναι:

 try ( // body of try ) catch(error) ( // body of catch )

Ο κύριος κωδικός βρίσκεται μέσα στο tryμπλοκ. Κατά την εκτέλεση του tryμπλοκ, εάν παρουσιαστεί κάποιο σφάλμα, πηγαίνει στο catchμπλοκ. Το catchμπλοκ χειρίζεται τα σφάλματα σύμφωνα με τις δηλώσεις αλιευμάτων.

Εάν δεν παρουσιαστεί σφάλμα, ο κωδικός μέσα στο tryμπλοκ εκτελείται και το catchμπλοκ παραλείπεται.

Παράδειγμα 1: Εμφάνιση μη δηλωμένης μεταβλητής

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Παραγωγή

 NaN Παρουσιάστηκε σφάλμα Μήνυμα σφάλματος: ReferenceError: a δεν έχει οριστεί

Στο παραπάνω πρόγραμμα, δεν καθορίζεται μια μεταβλητή. Όταν προσπαθείτε να εκτυπώσετε μια μεταβλητή, το πρόγραμμα ρίχνει ένα σφάλμα. Αυτό το σφάλμα εντοπίζεται στο catchμπλοκ.

Δοκιμάστε το JavaScript… πιάστε… τέλος Δήλωση

Μπορείτε επίσης να χρησιμοποιήσετε τη try… catch… finallyδήλωση για τον χειρισμό εξαιρέσεων. Το finallyμπλοκ εκτελεί και τα δύο όταν ο κώδικας εκτελείται με επιτυχία ή σε περίπτωση σφάλματος.

Η σύνταξη του try… catch… finallyμπλοκ είναι:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Παράδειγμα 2: δοκιμάστε … πιάστε … τέλος Παράδειγμα

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Παραγωγή

 NaN Παρουσιάστηκε σφάλμα Μήνυμα σφάλματος: ReferenceError: a δεν έχει οριστεί Τέλος θα εκτελείται κάθε φορά

Στο παραπάνω πρόγραμμα, εμφανίζεται ένα σφάλμα και αυτό το σφάλμα εντοπίζεται από το catchμπλοκ. Το finallyμπλοκ θα εκτελεστεί σε οποιαδήποτε κατάσταση (εάν το πρόγραμμα εκτελείται επιτυχώς ή εάν παρουσιαστεί σφάλμα).

Σημείωση : Πρέπει να χρησιμοποιήσετε catchή να finallyδηλώσετε μετά τη tryδήλωση. Διαφορετικά, το πρόγραμμα θα εμφανίσει ένα σφάλμα Uncaught SyntaxError: Λείπει το catch ή τελικά μετά την προσπάθεια.

Δοκιμάστε το JavaScript… πιάστε στο setTimeout

Το try… catchδεν θα πιάσει την εξαίρεση εάν συνέβαινε σε κώδικα " timed ", όπως στο setTimeout (). Για παράδειγμα,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Τα παραπάνω try… catchδεν θα λειτουργήσουν επειδή ο κινητήρας έχει ήδη εγκαταλείψει την try… catchκατασκευή και η λειτουργία εκτελείται αργότερα.

Το try… catchμπλοκ πρέπει να βρίσκεται μέσα σε αυτήν τη συνάρτηση για να πιάσει μια εξαίρεση μέσα σε μια χρονομετρημένη συνάρτηση. Για παράδειγμα,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

Μπορείτε επίσης να χρησιμοποιήσετε τη throwδήλωση με τη try… catchδήλωση για να χρησιμοποιήσετε εξαιρέσεις που καθορίζονται από το χρήστη. Για παράδειγμα, ένας συγκεκριμένος αριθμός διαιρείται με 0 . Εάν θέλετε να θεωρήσετε Infinityσφάλμα στο πρόγραμμα, τότε μπορείτε να ρίξετε μια εξαίρεση που καθορίζεται από τον χρήστη χρησιμοποιώντας τη throwδήλωση για να χειριστείτε αυτήν την κατάσταση.

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

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