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

Πίνακας περιεχομένων:

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

Βίντεο: Διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java

Βίντεο: Διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java
Βίντεο: Ηχητικό βιβλίο THINK Yourself RICH - Anthony Norvell SECRETS of Money MAGNETISM 2024, Ιούλιος
Anonim

Βασική διαφορά – Επιλεγμένη έναντι μη επιλεγμένης εξαίρεσης στην Java

Μια εξαίρεση είναι ένα σφάλμα χρόνου εκτέλεσης. Υπάρχουν δύο τύποι εξαιρέσεων γνωστές ως επιλεγμένες και μη επιλεγμένες εξαιρέσεις. Όταν εμφανίζεται μια επιλεγμένη εξαίρεση, η εφαρμογή Java συνδέεται με έναν εξωτερικό πόρο, όπως ένα αρχείο, μια συσκευή ή μια βάση δεδομένων. Αυτές οι εξαιρέσεις ελέγχονται από τον μεταγλωττιστή. Ορισμένα παραδείγματα επιλεγμένων εξαιρέσεων είναι η εξαίρεση IO και η εξαίρεση FileNotFound. Όταν εμφανίζεται μια μη επιλεγμένη εξαίρεση, η εφαρμογή δεν συνδέεται με κανέναν εξωτερικό πόρο. Αυτές οι εξαιρέσεις δεν ελέγχονται από τον μεταγλωττιστή. Μερικά παραδείγματα μη επιλεγμένων εξαιρέσεων είναι η Αριθμητική Εξαίρεση και η Εξαίρεση ArrayOutOfBound. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java. Η βασική διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java είναι ότι μια επιλεγμένη εξαίρεση ελέγχεται από τον μεταγλωττιστή ενώ μια μη επιλεγμένη εξαίρεση δεν ελέγχεται από τον μεταγλωττιστή.

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

Όταν προκύπτει μια επιλεγμένη εξαίρεση, η εφαρμογή Java συνδέεται με έναν εξωτερικό πόρο. Αυτός ο πόρος μπορεί να είναι μια συσκευή όπως ο εκτυπωτής. Μπορεί να είναι ένα αρχείο ή μια βάση δεδομένων. Επομένως, αυτές οι εξαιρέσεις ελέγχονται από τον μεταγλωττιστή. Η εξαίρεση IO είναι μια επιλεγμένη εξαίρεση. Παρουσιάζεται λόγω σφάλματος στη συσκευή. Όταν η εφαρμογή έχει πρόσβαση σε ένα αρχείο που δεν υπάρχει, τότε θα προκαλέσει μια εξαίρεση FileNotFound. Μια εφαρμογή μπορεί να συνδεθεί σε μια βάση δεδομένων όπως MySQL, Oracle κ.λπ. για αποθήκευση δεδομένων. Εάν προέκυψε σφάλμα που σχετίζεται με μια βάση δεδομένων, θα ήταν εξαίρεση SQL. Αυτά είναι μερικά παραδείγματα ελεγμένων εξαιρέσεων. Σε όλα αυτά, η εφαρμογή συνδέεται με έναν εξωτερικό πόρο. Σε επιλεγμένες εξαιρέσεις, είναι υποχρεωτικό να χειριστείτε την εξαίρεση. Εάν δεν αντιμετωπιστεί, η σωστή ροή του προγράμματος θα τερματιστεί και το αρχείο κλάσης δεν θα δημιουργηθεί. Το σφάλμα μπορεί να αντιμετωπιστεί χρησιμοποιώντας το μπλοκ try, catch.

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

Εικόνα 01: Ελεγμένος χειρισμός εξαιρέσεων

Σύμφωνα με τα παραπάνω, το FileReader διάβασε δεδομένα από το αρχείο. Το αρχείο text1.txt δεν υπάρχει στην καθορισμένη θέση. Ο κώδικας που μπορεί να δώσει την εξαίρεση τοποθετείται μέσα στο μπλοκ try. Το μήνυμα προς εκτύπωση βρίσκεται μέσα στο μπλοκ catch. Καθώς δεν υπάρχει αρχείο που ονομάζεται text1.txt, αυτό προκαλεί ένα FileNotFoundException. Χρησιμοποιώντας τον χειρισμό εξαιρέσεων, το μήνυμα εκτυπώνεται στην οθόνη.

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

Οι μη επιλεγμένες εξαιρέσεις δεν ελέγχονται από τον μεταγλωττιστή. Σε αντίθεση με τις επιλεγμένες εξαιρέσεις, με τις μη επιλεγμένες εξαιρέσεις, η εφαρμογή Java δεν είναι συνδεδεμένη με έναν εξωτερικό πόρο, όπως αρχείο, βάση δεδομένων ή συσκευή. Ορισμένες κοινές μη επιλεγμένες εξαιρέσεις είναι οι εξαιρέσεις Arithmetic, ArrayOutOfBound και NullPointer.

int a=10, b=0;

int div=a/b;

System.out.println(div);

Αυτό θα προκαλέσει μια αριθμητική εξαίρεση λόγω της κατάδυσης «a» με μηδέν. Ανατρέξτε στον παρακάτω κωδικό.

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

Εικόνα 02: Χειρισμός αριθμητικών εξαιρέσεων

Σύμφωνα με το παραπάνω πρόγραμμα, η μεταβλητή a είναι μια ακέραια τιμή. Η μεταβλητή b είναι 0. Η διαίρεση αυτών των δύο αριθμών είναι διαίρεση με το μηδέν. Επομένως, θα προκαλέσει μια αριθμητική εξαίρεση. Μπορεί να αντιμετωπιστεί χρησιμοποιώντας το μπλοκ try-catch. Οι δηλώσεις που μπορούν να προκαλέσουν την εξαίρεση τοποθετούνται μέσα στο μπλοκ try. Το μήνυμα που θα εμφανιστεί βρίσκεται στο μπλοκ catch.

Ανατρέξτε στο παρακάτω κομμάτι του κώδικα.

int array1={1, 2, 3, 4, 5};

System.out.println(array1[5]);

Αυτό θα προκαλέσει εξαίρεση. Ο πίνακας1 είναι ένας πίνακας με 5 στοιχεία. Ο αρχικός δείκτης του πίνακα είναι μηδέν. Η εκτύπωση της τιμής ευρετηρίου 5th προκαλεί εξαίρεση επειδή είναι εκτός ορίου. Ο μέγιστος δείκτης του πίνακα1 είναι 4.

Βασική διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java
Βασική διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java

Εικόνα 03: Χειρισμός εξαίρεσης ArrayOutOfBound

Σύμφωνα με το παραπάνω πρόγραμμα, ο πίνακας1 έχει 5 στοιχεία. Η εκτύπωση του στοιχείου με το ευρετήριο 6 θα προκαλέσει εξαίρεση επειδή είναι εκτός ορίου. Ο μέγιστος δείκτης που μπορεί να αποθηκευτεί στον πίνακα1 είναι 5. Το μήνυμα σφάλματος εκτυπώνεται εκτελώντας το μπλοκ catch.

Ποια είναι η ομοιότητα μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java

Τόσο η επιλεγμένη όσο και η μη επιλεγμένη εξαίρεση στην Java είναι τύποι εξαίρεσης στην Java

Ποια είναι η διαφορά μεταξύ επιλεγμένης και μη επιλεγμένης εξαίρεσης στην Java;

Ελεγμένο έναντι μη επιλεγμένης εξαίρεσης στην Java

Μια επιλεγμένη εξαίρεση είναι ένα σφάλμα χρόνου εκτέλεσης που ελέγχεται από τον μεταγλωττιστή. Μια μη επιλεγμένη εξαίρεση είναι ένα σφάλμα χρόνου εκτέλεσης που δεν ελέγχεται από τον μεταγλωττιστή.
Εμφάνιση
Όταν προκύπτει μια επιλεγμένη εξαίρεση, η εφαρμογή Java συνδέεται με έναν εξωτερικό πόρο, όπως αρχείο, συσκευή ή βάση δεδομένων. Όταν προκύπτει μια μη επιλεγμένη εξαίρεση, η εφαρμογή Java δεν είναι συνδεδεμένη σε εξωτερικό πόρο.
Παραδείγματα
IOException, FileNotFoundException, SQLException είναι μερικά παραδείγματα επιλεγμένων εξαιρέσεων. Η αριθμητική εξαίρεση, ArrayOutOfBoundException, NullPointerException είναι μερικά παραδείγματα μη επιλεγμένων εξαιρέσεων.

Σύνοψη – Επιλεγμένη έναντι μη επιλεγμένης εξαίρεσης στην Java

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

Συνιστάται: