Java-program för att skapa anpassat undantag

I det här exemplet lär vi oss att skapa anpassade kontrollerade och okontrollerade undantag i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-undantag
  • Java Exception Handling
  • Java-klass och objekt

Exempel 1: Java-program för att skapa anpassat kontrollerat undantag

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

Produktion

 Swift läggs till i ArrayList (CustomException: Java existerar redan) Undantag inträffade

I exemplet ovan har vi utökat Exceptionklassen för att skapa ett anpassat undantag med namnet CustomException. Här kallar vi Exceptionklasskonstruktören från klassen CustomException med hjälp av super()nyckelordet.

Inuti metoden checkLanguage()har vi kontrollerat undantagsvillkoret, och om undantaget inträffar, hanterar try … catch block undantaget.

Här är detta det markerade undantaget. Vi kan också skapa okontrollerad undantagsklass i Java. Besök Java Exception om du vill lära dig mer om markerade och okontrollerade undantag.

Exempel 2: Skapa anpassad okontrollerad undantagsklass

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

Produktion

 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)

I exemplet ovan har vi utökat RuntimeExceptionklassen för att skapa en okontrollerad anpassad undantagsklass.

Här kan du märka att vi inte har förklarat något försök … fångstblock . Det beror på att det okontrollerade undantaget är kontrollerat vid körning.

Förutom det liknar andra funktioner med okontrollerat undantag ovanstående program.

Intressanta artiklar...