Εξαιρέσεις Java

Σε αυτό το σεμινάριο, θα μάθουμε για τις εξαιρέσεις στην Java. Θα καλύψουμε σφάλματα, εξαιρέσεις και διαφορετικούς τύπους εξαιρέσεων στην Java.

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

Μια εξαίρεση μπορεί να συμβεί για πολλούς λόγους. Κάποιοι από αυτούς είναι:

  • Μη έγκυρη εισαγωγή χρήστη
  • Αποτυχία συσκευής
  • Απώλεια σύνδεσης δικτύου
  • Φυσικοί περιορισμοί (εκτός μνήμης δίσκου)
  • Σφάλματα κώδικα
  • Άνοιγμα μη διαθέσιμου αρχείου

Ιεραρχία εξαίρεσης Java

Εδώ είναι ένα απλοποιημένο διάγραμμα της ιεραρχίας εξαίρεσης στην Java.

Όπως μπορείτε να δείτε από την παραπάνω εικόνα, η Throwableκλάση είναι η βασική τάξη στην ιεραρχία.

Σημειώστε ότι η ιεραρχία χωρίζεται σε δύο κλάδους: Σφάλμα και Εξαίρεση.

Σφάλματα

Τα σφάλματα αντιπροσωπεύουν μη ανακτήσιμες συνθήκες, όπως η εικονική μηχανή Java (JVM) που εξαντλείται στη μνήμη, διαρροές μνήμης, σφάλματα υπερχείλισης στοίβας, ασυμβατότητα βιβλιοθήκης, απεριόριστη αναδρομή κ.λπ.

Τα σφάλματα είναι συνήθως πέρα ​​από τον έλεγχο του προγραμματιστή και δεν πρέπει να προσπαθήσουμε να χειριστούμε τα σφάλματα.

Εξαιρέσεις

Οι εξαιρέσεις μπορούν να εντοπιστούν και να αντιμετωπιστούν από το πρόγραμμα.

Όταν εμφανίζεται μια εξαίρεση μέσα σε μια μέθοδο, δημιουργεί ένα αντικείμενο. Αυτό το αντικείμενο ονομάζεται αντικείμενο εξαίρεσης.

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

Θα μάθουμε πώς να χειριζόμαστε αυτές τις εξαιρέσεις στο επόμενο σεμινάριο. Σε αυτό το σεμινάριο, θα επικεντρωθούμε τώρα σε διαφορετικούς τύπους εξαιρέσεων στην Java.

Τύποι εξαίρεσης Java

Η ιεραρχία εξαίρεσης έχει επίσης δύο κλάδους: RuntimeExceptionκαι IOException.

1. RuntimeException

Μια εξαίρεση χρόνου εκτέλεσης συμβαίνει λόγω σφάλματος προγραμματισμού. Είναι επίσης γνωστές ως μη ελεγμένες εξαιρέσεις .

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

  • Ακατάλληλη χρήση ενός API - IllegalArgumentException
  • Μηδενική πρόσβαση δείκτη (λείπει η αρχικοποίηση μιας μεταβλητής) - NullPointerException
  • Πρόσβαση εκτός συστοιχίας - ArrayIndexOutOfBoundsException
  • Διαίρεση ενός αριθμού με 0 - ArithmeticException

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

Το NullPointerExceptionδεν θα είχε συμβεί αν είχατε ελέγξει εάν η μεταβλητή είχε αρχικοποιηθεί ή όχι πριν τη χρησιμοποιήσετε.

Δεν ArrayIndexOutOfBoundsExceptionθα είχε συμβεί αν δοκιμάσατε το ευρετήριο του πίνακα έναντι των ορίων του πίνακα.

2. IOException

Το An IOExceptionείναι επίσης γνωστό ως ελεγμένη εξαίρεση . Ελέγχονται από τον μεταγλωττιστή κατά το χρόνο μεταγλώττισης και ο προγραμματιστής καλείται να χειριστεί αυτές τις εξαιρέσεις.

Μερικά από τα παραδείγματα των ελεγμένων εξαιρέσεων είναι:

  • Η προσπάθεια ανοίγματος ενός αρχείου που δεν υπάρχει έχει ως αποτέλεσμα FileNotFoundException
  • Προσπάθεια ανάγνωσης μετά το τέλος ενός αρχείου

Τώρα γνωρίζουμε για τις εξαιρέσεις, θα μάθουμε για τον χειρισμό εξαιρέσεων στο επόμενο σεμινάριο.

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