Διαφορά μεταξύ ελεγμένης και μη ελεγχόμενης εξαίρεσης

Ο χειρισμός εξαιρέσεων στην Java είναι ένας από τους ισχυρούς μηχανισμούς για τον χειρισμό συγκεκριμένων σφαλμάτων που προκύπτουν σε μια ακολουθία κώδικα κατά το χρόνο εκτέλεσης. Εξαίρεση δεν είναι παρά ένα σφάλμα χρόνου εκτέλεσης που διαταράσσει την κανονική ροή της εφαρμογής.



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

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



Διαφορά μεταξύ ελεγμένης και μη ελεγχόμενης εξαίρεσης

Τι είναι η ελεγμένη εξαίρεση στην Java;



Αυτές είναι οι εξαιρέσεις που ελέγχονται και αντιμετωπίζονται κατά τη στιγμή της μεταγλώττισης. Η Java ορίζει πολλές κατηγορίες εξαιρέσεων εντός του τυπικού πακέτουjava.lang, και οι πιο κοινές εξαιρέσεις είναι υποκατηγορίες του τυπικού τύπουRuntimeException.

Αυτές οι εξαιρέσεις που συμβαίνουν σε περιοχές εκτός του άμεσου ελέγχου του προγράμματος είναι γνωστές ως ελεγμένες εξαιρέσεις. Εάν μια μέθοδοςρίχνειμια ελεγμένη εξαίρεση κατά το χρόνο μεταγλώττισης που δεν μπορεί να το χειριστεί το ίδιο, τότε πρέπει να χειριστεί την εξαίρεση στο aσύλληψη {}μπλοκάρει ή δηλώνει την εξαίρεση χρησιμοποιώντας τορίχνειλέξη-κλειδί, διαφορετικά θα δώσει σφάλμα σύνταξης. Ο μεταγλωττιστής εξετάζει τον τύπο του αντικειμένου εξαίρεσης για κάθε έναβολήδήλωση και εάν δείχνει επιλεγμένο, ο μεταγλωττιστής ελέγχει τον πηγαίο κώδικα για να βεβαιωθεί ότι η εξαίρεση αντιμετωπίζεται με τη μέθοδο που ρίχνεται ή δηλώνεται έτσι ώστε να μπορεί να αντιμετωπιστεί περαιτέρω.

Όλες οι εξαιρέσεις που περιγράφονται απόΕξαίρεσηπου είναι οι άμεσες υποκατηγορίες εκτός απόRuntimeExceptionονομάζονται ελεγμένες εξαιρέσεις. Τώρα πότε να χρησιμοποιήσετε ελεγμένη εξαίρεση; Μπορείτε να επιλέξετε να χρησιμοποιήσετε μια ελεγμένη εξαίρεση όταν γνωρίζετε ακριβώς τι να κάνετε όταν έναΕξαίρεσησυμβαίνει ή όταν οι πιθανότητες αποτυχίας είναι περισσότερες. Μερικά παραδείγματα ελεγμένων εξαιρέσεων στη βιβλιοθήκη Java περιλαμβάνουν το IOException, το DataAccessException, το IllegalAccessException, το InterruptException, το ClassNotFoundException, το InvocationTargetException κ.λπ.



Διαφορά μεταξύ ελεγμένης και μη ελεγχόμενης εξαίρεσης

Τι είναι η ανεξέλεγκτη εξαίρεση στην Java;

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

Με απλούς όρους, η ανεξέλεγκτη εξαίρεση είναι μια εξαίρεση που δεν παγιδεύεται σεπροσπάθησε να πιάσειςΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Δεν χρειάζεται να συλληφθούν ρητά. Στην πραγματικότητα, όταν προκύπτει μια μη ελεγμένη εξαίρεση, η Java χειρίζεται την εξαίρεση αυτόματα. Οι μη ελεγχόμενες εξαιρέσεις συμβαίνουν κυρίως λόγω σφαλμάτων προγραμματισμού, όπως κατά την πρόσβαση σε στοιχείο έξω από μια δέσμευση συστοιχίας ή τη μέθοδο πρόσβασης ενός μηδενικού αντικειμένου. Στην Java, όλες οι εξαιρέσεις υπό δυνατότητα ρίψης είναι επιλεγμένες εξαιρέσεις, ενώ οι εξαιρέσεις που είναι άμεσες υποκατηγορίες τουΛάθοςκαιRuntimeExceptionείναι μη ελεγμένες εξαιρέσεις.



Το καλύτερο μέρος μιας ανεξέλεγκτης εξαίρεσης είναι ότι δεν μειώνει την αναγνωσιμότητα του κώδικα διατηρώντας παράλληλα τον κώδικα πελάτη καθαρό. Μερικά παραδείγματα μη ελεγμένων εξαιρέσεων περιλαμβάνουν ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException κ.λπ.

Διαφορά μεταξύ εξαιρούμενης και μη ελεγμένης

Ορισμός της ελεγμένης και μη ελεγμένης εξαίρεσης

Checked and Unchecked Exception είναι οι δύο τύποι εξαιρέσεων που υπάρχουν στην Java για να διασφαλιστεί η κανονική ροή της εφαρμογής. Και οι δύο εξυπηρετούν τον ίδιο σκοπό που είναι ο χειρισμός εξαιρέσεων στην Java και παρόλο που δεν υπάρχει διαφορά στη λειτουργικότητα, δεν υπάρχει κανένας κανόνας που να καθορίζει πότε να χρησιμοποιείται η επιλεγμένη και πότε να χρησιμοποιείται η ανεξέλεγκτη εξαίρεση. Το Checked Exception είναι μια εξαίρεση που ελέγχεται κατά τη μεταγλώττιση, ενώ το Unchecked Exception είναι αυτό που δεν ελέγχεται κατά το χρόνο μεταγλώττισης.

Βασικά στοιχεία της ελεγμένης και μη ελεγμένης εξαίρεσης

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

Χειρισμός εξαίρεσης

Εάν μια μέθοδος ρίξει μια ελεγμένη εξαίρεση, ο μεταγλωττιστής θα ελέγξει εάν η μέθοδος χειρίζεται αυτήν την εξαίρεση χρησιμοποιώντας μπλοκ try-catch ή καθορίζει την εξαίρεση χρησιμοποιώντας λέξη-κλειδί ρίψεων. Εάν η μέθοδος δεν παρέχει τον κώδικα χειρισμού, θα εμφανιστεί ένα σφάλμα συλλογής. Αντίθετα, το πρόγραμμα μεταγλωττίζεται πολύ καλά, επειδή ο μεταγλωττιστής δεν ελέγχει για μη ελεγμένες εξαιρέσεις κατά τη στιγμή της μεταγλώττισης.

Αιτία εξαιρούμενης και μη ελεγμένης εξαίρεσης

Οι εξαιρέσεις που δεν προέρχονται από το RunTimeException αντιμετωπίζονται συχνά ενώ σπάνια αντιμετωπίζονται εξαιρέσεις κατά το χρόνο εκτέλεσης. Μια ελεγμένη εξαίρεση εμφανίζεται όταν οι πιθανότητες αποτυχίας είναι πολύ υψηλές. Η ανεξέλεγκτη εξαίρεση, από την άλλη πλευρά, συμβαίνει κυρίως λόγω λαθών προγραμματισμού. Όλες οι εξαιρέσεις στην κατηγορία RuntimeException και Σφάλμα είναι μη ελεγμένες εξαιρέσεις, ενώ όλα τα υπόλοιπα κάτω από τη δυνατότητα ρίψης είναι ελεγμένες εξαιρέσεις.

Παραδείγματα ελεγμένης και μη ελεγμένης εξαίρεσης

Μερικά παραδείγματα ελεγμένων εξαιρέσεων είναι το IOException, το DataAccessException, το IllegalAccessException, το InterruptException, το ClassNotFoundException και άλλα. Παραδείγματα μη ελεγμένων εξαιρέσεων περιλαμβάνουν NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException κ.λπ.

Έλεγχος έναντι μη ελεγμένης εξαίρεσης: Διάγραμμα σύγκρισης

Επιλεγμένη εξαίρεση VERSUS Μη επιλεγμένη εξαίρεση

Περίληψη της ελεγμένης και μη ελεγμένης εξαίρεσης

Το Checked and Unchecked Exception είναι οι δύο τύποι εξαιρέσεων που υπάρχουν στην Java. Ενώ η λειτουργικότητα είναι ίδια και για τις δύο εξαιρέσεις, έχουν το δίκαιο μερίδιο των διαφορών τους. Η κύρια διαφορά μεταξύ ελεγμένων και μη ελεγχόμενων εξαιρέσεων είναι ότι η πρώτη ελέγχεται από τον μεταγλωττιστή, ενώ η τελευταία ξεφεύγει από την ειδοποίηση του μεταγλωττιστή. Οι εξαιρέσεις που ελέγχονται και αντιμετωπίζονται κατά τη στιγμή της μεταγλώττισης ελέγχονται εξαιρέσεις, ενώ οι εξαιρέσεις που δεν ελέγχονται και αντιμετωπίζονται κατά τη στιγμή της μεταγλώττισης είναι μη ελεγμένες εξαιρέσεις. Αυτό το άρθρο εξηγεί τι είναι επιλεγμένο και τι είναι ανεξέλεγκτη εξαίρεση, πότε να τα χρησιμοποιήσετε και εξηγεί τη διαφορά μεταξύ των δύο.

Δημοφιλείς Αναρτήσεις

Πώς τα λουλούδια του «Flanders Field» έγιναν σύμβολο της ημέρας των βετεράνων

Πώς η κόκκινη παπαρούνα και ένα ποίημα ενός χειρούργου στο πεδίο της μάχης του Α 'Παγκοσμίου Πολέμου είχαν σημασία.

Διαφορά μεταξύ Candor και Candid

Candor vs Candid Πολλοί μπορεί να συγχέουν τις δύο λέξεις, «candor» και «candid». Ο λόγος, για αυτό, είναι επειδή έχουν πολύ στενές σημασίες. Ωστόσο, πρέπει να υπάρχει

Η τελευταία μάχη του Blackbeard

Πολύ πριν τους Σομαλούς πειρατές, υπήρχε ο Blackbeard. Το 1718, συνάντησε τον αγώνα του σε έναν πρώην βρετανό ιδιώτη.

Desert Warriors: Ο εμφύλιος πόλεμος στα νοτιοδυτικά σύνορα

Οι συγκρούσεις νοτιοδυτικών συνόρων μεταξύ Ένωσης και Ομοσπονδιακών και Ινδών και Ισπανόφωνων ήταν αλληλένδετοι εμφύλιοι πόλεμοι που πυροδοτήθηκαν από τον πόλεμο της εξέγερσης.

Κοιτάξτε τι με έκανε η καραντίνα: One Millennial’s Guide to Using TikTok

Τώρα που δεν έχετε τίποτα καλύτερο να κάνετε, δείτε πώς μπορείτε να κάνετε αυτά τα TikTok να χορεύουν και να μιμούνται βίντεο που λατρεύετε κρυφά.

Διαφορά μεταξύ iPhone και Curve

iPhone vs Curve Το iPhone είναι το πνευματικό παιδί της Apple Inc. Θεωρείται ο βασιλιάς όλων των έξυπνων τηλεφώνων, αλλά ακόμη και πριν αυτά τα προϊόντα της Apple γίνουν δημοφιλή,