Java program za ustvarjanje izjem po meri

V tem primeru se bomo naučili ustvarjati izvzeto izbrano in nepreverjeno izjemo v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Izjeme Java
  • Ravnanje z izjemami Java
  • Razred Java in predmeti

Primer 1: Program Java za ustvarjanje izjeme po meri

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

Izhod

 Swift je dodan na ArrayList (CustomException: Java že obstaja) Izjema je nastala

V zgornjem primeru smo Exceptionrazred razširili tako, da smo ustvarili izjemo po meri z imenom CustomException. Tu pokličemo konstruktor Exceptionrazreda iz razreda CustomException z uporabo super()ključne besede.

Znotraj metode checkLanguage()smo preverili pogoj izjeme in če pride do izjeme, blok try … catch obravnava izjemo.

Tukaj je to preverjena izjema. V Javi lahko ustvarimo tudi nepreverjeni razred izjem. Če želite izvedeti več o preverjeni in nepreverjeni izjemi, obiščite Java Exception.

2. primer: Ustvarite ne preverjeni razred izjem

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

Izhod

 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)

V zgornjem primeru smo RuntimeExceptionrazred razširili tako, da smo ustvarili nepreverjen razred izjem po meri.

Tukaj lahko opazite, da nismo razglasili nobenega poskusa … catch block. To je zato, ker je nepreverjena izjema preverjena med izvajanjem.

Poleg tega je druga funkcionalnost nepreverjene izjeme podobna zgoraj omenjenemu programu.

Zanimive Članki...