Πρόγραμμα Java για δημιουργία προσαρμοσμένης εξαίρεσης

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

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Εξαιρέσεις Java
  • Διαχείριση εξαιρέσεων Java
  • Τάξη και αντικείμενα Java

Παράδειγμα 1: Πρόγραμμα Java για τη δημιουργία εξατομικευμένης εξαίρεσης

 import java.util.ArrayList; import java.util.Arrays; // create a checked exception class class CustomException extends Exception ( public CustomException(String message) ( // call the constructor of Exception class super(message); ) ) class Main ( ArrayList languages = new ArrayList(Arrays.asList("Java", "Python", "JavaScript")); // check the exception condition public void checkLanguage(String language) throws CustomException ( // throw exception if language already present in ArrayList if(languages.contains(language)) ( throw new CustomException(language + " already exists"); ) else ( // insert language to ArrayList languages.add(language); System.out.println(language + " is added to the ArrayList"); ) ) public static void main(String() args) ( // create object of Main class Main obj = new Main(); // exception is handled using try… catch try ( obj.checkLanguage("Swift"); obj.checkLanguage("Java"); ) catch(CustomException e) ( System.out.println("(" + e + ") Exception Occured"); ) ) )

Παραγωγή

 Το Swift προστίθεται στο ArrayList (CustomException: Java υπάρχει ήδη) Εξαιρέθηκε

Στο παραπάνω παράδειγμα, έχουμε επεκτείνει την Exceptionτάξη για να δημιουργήσουμε μια προσαρμοσμένη εξαίρεση με το όνομα CustomException. Εδώ, καλούμε τον κατασκευαστή Exceptionκλάσης από την κλάση CustomException χρησιμοποιώντας super()λέξη-κλειδί.

Μέσα στη μέθοδο checkLanguage(), έχουμε ελέγξει την κατάσταση εξαίρεσης, και εάν παρουσιαστεί η εξαίρεση, το μπλοκ try … catch χειρίζεται την εξαίρεση.

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

Παράδειγμα 2: Δημιουργία προσαρμοσμένης μη επιλεγμένης κλάσης εξαιρέσεων

 import java.util.ArrayList; import java.util.Arrays; // create a unchecked exception class class CustomException extends RuntimeException ( public CustomException(String message) ( // call the constructor of RuntimeException super(message); ) ) class Main ( ArrayList languages = new ArrayList(Arrays.asList("Java", "Python", "JavaScript")); // check the exception condition public void checkLanguage(String language) ( // throw exception if language already present in ArrayList if(languages.contains(language)) ( throw new CustomException(language + " already exists"); ) else ( // insert language to ArrayList languages.add(language); System.out.println(language + " is added to the ArrayList"); ) ) public static void main(String() args) ( // create object of Main class Main obj = new Main(); // check if language already present obj.checkLanguage("Swift"); obj.checkLanguage("Java"); ) )

Παραγωγή

 Swift is added to the ArrayList Exception in thread "main" CustomException: Java already exists at Main.checkLanguage(Main.java:21) at Main.main(Main.java:37)

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

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

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

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