W Jawie wyjątek to niepożądane lub nieoczekiwane zdarzenie, które ma miejsce podczas wykonywania programu. Gdy wystąpi wyjątek, wykonywanie programu zostaje zakończone. Aby uniknąć tych warunków zakończenia, możemy użyć bloku try catch w Javie. W tym artykule dowiemy się o próbowaniu, łapaniu, rzucaniu i rzucaniu w Javie.
Dlaczego występuje wyjątek?
Wyjątek może wystąpić z kilku powodów, takich jak problem z połączeniem sieciowym, nieprawidłowe dane wprowadzone przez użytkownika, otwarcie nieistniejącego pliku w programie itp.
Bloki i słowa kluczowe używane do obsługi wyjątków
1. spróbuj w Javie
The próbować block zawiera zestaw instrukcji, w przypadku których może wystąpić wyjątek.
try { // statement(s) that might cause exception }> 2. złapać w Javie
Blok catch służy do obsługi niepewnego warunku bloku try. Po bloku try zawsze następuje blok catch, który obsługuje wyjątek występujący w powiązanym bloku try.
catch { // statement(s) that handle an exception // examples, closing a connection, closing // file, exiting the process after writing // details to a log file. }> 3. wrzuć Javę
Słowo kluczowe rzut służy do przeniesienia kontroli z bloku try do bloku catch.
Poniżej implementacja powyższego podejścia:
Jawa
// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> help()> >{> >try> {> >throw> new> NullPointerException(>'error_unknown'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside help().'>);> >// rethrowing the exception> >throw> e;> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >help();> >}> >catch> (NullPointerException e) {> >System.out.println(> >'Caught in main error name given below:'>);> >System.out.println(e);> >}> >}> }> |
jak zamienić string na int
>
>Wyjście
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>
4. rzuca w Javie
The rzuca słowo kluczowe jest używane do obsługi wyjątków bez bloku try & catch. Określa wyjątki, które metoda może zgłosić wywołującemu i nie obsługuje samej siebie.
Poniżej implementacja powyższego podejścia:
Jawa
przykłady kodu w języku c#
// Java program to demonstrate working of throws> class> ThrowsExecp {> >// This method throws an exception> >// to be handled> >// by caller or caller> >// of caller and so on.> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println('Inside fun(). ');> >throw> new> IllegalAccessException('demo');> >}> >// This is a caller function> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println('caught in main.');> >}> >}> }> |
>
>Wyjście
Inside fun(). caught in main.>
5. wreszcie w Javie
Jest wykonywany po bloku catch. Używamy go do umieszczenia wspólnego kodu (który zostanie wykonany niezależnie od tego, czy wystąpił wyjątek, czy nie), gdy istnieje wiele bloków catch.
Poniżej podano przykład wyjątku wygenerowanego przez system:
Exception in thread 'main' java.lang.ArithmeticException : divide by zero at ExceptionDemo.main(ExceptionDemo.java:5) ExceptionDemo: The class name main:The method name ExceptionDemo.java:The file name java:5:line number>
Poniżej implementacja powyższego podejścia:
Jawa
dostępne
// Java program to demonstrate working of try,> // catch and finally> class> Division {> >public> static> void> main(String[] args)> >{> >int> a =>10>, b =>5>, c =>5>, result;> >try> {> >result = a / (b - c);> >System.out.println('result' + result);> >}> >catch> (ArithmeticException e) {> >System.out.println('Exception caught:Division by zero');> >}> >finally> {> >System.out.println('I am in>final> block');> >}> >}> }> |
>
>Wyjście
Exception caught:Division by zero I am in final block>
Często zadawane pytania dotyczące funkcji Try Block w Javie
1. Kiedy należy używać bloków try catch?
Bloki Try catch służą do unikania wyjątków, tak aby kod nie uległ uszkodzeniu przed pełnym wykonaniem.
2. Co to jest rzucanie i rzucanie w Javie?
Rzut służy do przeniesienia kontroli z bloku try do bloku catch. Natomiast rzuty służą do obsługi wyjątków bez bloku try & catch. Zgłoszenia określają wyjątki, które metoda może rzucić do obiektu wywołującego i które same nie obsługują.
3. Czy możemy mieć dwa bloki catch?
Tak, możemy mieć wiele bloków catch z instrukcjami try.