Program Java pentru a crea excepție personalizată

În acest exemplu, vom învăța să creăm excepții personalizate bifate și nebifate în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Excepții Java
  • Java Exception Handling
  • Clasa și obiecte Java

Exemplul 1: program Java pentru a crea o excepție verificată personalizat

 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"); ) ) )

Ieșire

 Swift este adăugat la ArrayList (Excepție personalizată: Java există deja) Excepție a avut loc

În exemplul de mai sus, am extins Exceptionclasa pentru a crea o excepție personalizată numită CustomException. Aici, numim constructorul Exceptionclasei din clasa CustomException folosind super()cuvânt cheie.

În interiorul metodei checkLanguage(), am verificat condiția excepției și, dacă apare excepția, blocul try … catch gestionează excepția.

Aici, aceasta este excepția verificată. Putem crea, de asemenea, o clasă de excepție necontrolată în Java. Pentru a afla mai multe despre excepția bifată și nebifată, accesați Java Exception.

Exemplul 2: creați o clasă de excepție nebifată personalizată

 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"); ) )

Ieșire

 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)

În exemplul de mai sus, am extins RuntimeExceptionclasa pentru a crea o clasă de excepție personalizată nebifată.

Aici, puteți observa că nu am declarat nicio încercare … bloc de captură . Acest lucru se datorează faptului că excepția nebifată este verificată în timpul rulării.

În afară de aceasta, alte funcționalități ale excepției necontrolate sunt similare cu programul menționat mai sus.

Articole interesante...