Co to jest łańcuch wyjątku w Javie

Co to jest łańcuch wyjątku w Javie
„„wyjątki”Napotkane podczas programowania są częścią implementacji. W takich przypadkach deweloper może istnieć wymóg ustalenia rzeczywistych wyjątków, aby wygodnie usunąć dwuznaczność w kodzie. Pomaga to programistowi w odpowiednio zidentyfikowanie skierowanych wąskich gardeł, a następnie odpowiednio usprawnić funkcje kodu.

W tym artykule omówiono użycie i wdrożenie Java ”Wyjątkowe łańcuch".

Co to jest „Łączenie wyjątków” w Javie?

"Łączenie wyjątków”Jest skierowany, gdy jeden wyjątek spowoduje inny wyjątek. Jest taki, że rzeczywisty wyjątek jest przyczyną drugiego wyjątku.

Przed przejściem do następującego przykładu upewnij się, że podano paczkę do wykonania ”do wykonania„Wejście wyjście„Operacje:

Importuj Java.io.*;

Przykład 1: Zastosowanie łańcucha wyjątków za pomocą „IOException” i „EofException” w Javie

„„EofException„W Javie napotyka się, gdy koniec pliku zostanie nieoczekiwanie osiągnięte podczas wprowadzania. „„IoException”Jednak jest skierowany, gdy wystąpi błąd we/wy.

W tym przykładzie można wykonać wyjątkowe łączenie się tak, aby wyjątek, ja.mi., "EofException”Jest główną przyczyną tego wyjątku, ja.mi., "IoException”:

publicClassExcepting Graining
publicStaticVoidMain (String args [])
próbować
Dokonany IoException („IoException się spotkał”).
initCause (nowy eofException („Główną przyczyną jest eofException”));

catch (rzut możliwy z wyjątkiem)
System.na zewnątrz.println („Wyjął wyjątek:” + z wyjątkiem);
EofException faktyczne = (eofException), z wyjątkiem.getCause ();
System.na zewnątrz.println („przyczyną jest:” + faktyczne);

W powyższych wierszach kodu zastosuj następujące kroki:

  • Po pierwsze, wyjątek o nazwie „IoException”Jest rzucany przez„Strumień wejściowy„Podczas gdy faktyczna przyczyna jest„EofException".
  • Powyższy scenariusz wskazuje, że główną przyczyną IoException jest eofException.
  • Ponadto główna przyczyna jest wyświetlana przez „initcause ()" metoda. Ta metoda inicjuje przyczynę wyrzucanego wyjątku od konkretnej wartości.
  • „„złapać”Blok radzi sobie z wyjątkiem.
  • Wyświetl również faktyczną przyczynę napotkanego wyjątku za pośrednictwem powiązanych „getCause ()" metoda.

Wyjście

W tym wyjściu można zaobserwować, że zwane i rzeczywiste wyjątki są odpowiednio wyświetlane.

Przykład 2: Zastosowanie łańcucha wyjątków za pomocą „arytmeticexception” i „nullPointerException” w Javie

„„Arytmiticexception”. „„NULLPOINTERException”Jest skierowana, gdy wywoływana zmienna nie jest jeszcze przydzielona do obiektu.

W tym przykładzie wykorzystuje oba te wyjątki, tak że pierwszy wyjątek jest wyjątkiem od faktycznego ostatniego wyjątku:

publicClassExceptionlCHining2
publicStaticVoidMain (String args [])
próbować
Arytmeticexception faktyczne =
nowy arytmeticexception („Miejsce spotkania wyjątek”);
rzeczywisty.initCause (New NullPoInterException („Główna przyczyna”));
Rzuć rzeczywiste;

catch (arytmeticexception z wyjątkiem)
z wyjątkiem.printStackTrace ();
System.na zewnątrz.println (z wyjątkiem.getCause ());

Zgodnie z powyższym fragmentem kodu zastosuj stopnie poniżej przedstawione:

  • Przypomnij sobie omawiane podejścia do stworzenia wyjątku i rzucania faktycznego wyjątku jako przyczyny.
  • Teraz poradzisz sobie z wyjątkiem i wyświetlaj go szczegółowo, podobnie jak numer linii, klasa itp., z pomocą „printStackTrace ()" metoda.
  • Na koniec zaloguj się do faktycznej przyczyny, i.mi., "NULLPOINTERException”Z tego wyjątku, ja.mi., "Arytmiticexception" również.

Wyjście

W tym wyniku można sugerować, że zwane i rzeczywiste wyjątki są szczegółowo wyświetlane.

Wniosek

"Łączenie wyjątków„W Javie jest skierowany, gdy wyjątek skutkuje innym wyjątkiem. Jest taki, że rzeczywisty wyjątek jest przyczyną skierowanego wyjątku. Łączenie odbywa się w celu zidentyfikowania faktycznej przyczyny wyjątku i wyświetlania. Ten blog prowadził o użyciu i wdrażaniu wyjątkowego łączenia w Javie.