Program Java pro vytvoření vlastní výjimky

V tomto příkladu se naučíme vytvářet vlastní kontrolované a nekontrolované výjimky v Javě.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:

  • Výjimky Java
  • Zpracování výjimek Java
  • Třída Java a objekty

Příklad 1: Program Java pro vytvoření vlastní kontrolované výjimky

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

Výstup

 Swift je přidán do ArrayList (CustomException: Java již existuje) došlo k výjimce

Ve výše uvedeném příkladu jsme rozšířili Exceptiontřídu o vytvoření vlastní výjimky s názvem CustomException. Tady voláme konstruktor Exceptiontřídy z třídy CustomException pomocí super()klíčového slova.

Uvnitř metody checkLanguage()jsme zkontrolovali podmínku výjimky a pokud dojde k výjimce, blok try … catch zpracuje výjimku.

Tady je zaškrtnutá výjimka. Můžeme také vytvořit nekontrolovanou třídu výjimek v Javě. Další informace o zaškrtnuté a nezaškrtnuté výjimce najdete v Java Exception.

Příklad 2: Vytvoření vlastní nezaškrtnuté třídy výjimek

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

Výstup

 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)

Ve výše uvedeném příkladu jsme rozšířili RuntimeExceptiontřídu o vytvoření nekontrolované třídy vlastních výjimek.

Zde si můžete všimnout, že jsme nevyhlásili žádný pokus … chytit blok. Je to proto, že nezaškrtnutá výjimka je kontrolována za běhu.

Kromě toho jsou další funkce nekontrolované výjimky podobné výše uvedenému programu.

Zajímavé články...