Spróbuj, złap, rzuć i wreszcie wypowiedzi w Javie | Wyjaśnione

Spróbuj, złap, rzuć i wreszcie wypowiedzi w Javie | Wyjaśnione
W każdym języku programowania, w tym Java, zawsze istnieje możliwość wystąpienia błędu w momencie wykonywania kodu, w rezultacie program przestaje działać i rzuca błąd. W kategoriach programowych zjawisko to jest określane jako wyjątki. Java zapewnia rozwiązanie, które może obsłużyć takie wyjątki/błędy w czasie wykonywania znane jako obsługa wyjątków.

Na Java można przyjąć na wiele sposobów, aby poradzić sobie z wyjątkami, w tym spisie omówimy następujące sposoby obsługi wyjątków:

  • Obsługa wyjątków za pomocą instrukcji Try-Catch
  • Obsługa wyjątków za pomocą instrukcji wreszcie
  • Obsługa wyjątków za pomocą słowa kluczowego rzutu

Wszystkie wyżej wymienione podejścia zostaną omówione w tym artykule za pomocą niektórych przykładów. Jednak przed udaniem się do tych podejść najpierw musimy zrozumieć, dlaczego konieczne jest poradzić sobie z wyjątkami w Javie.

Dlaczego obchodzenie się z wyjątkami w Javie

W przypadku, gdy napotykamy każdy błąd, zwykle program zatrzymuje jego wykonanie, jednak obsługa wyjątków zapewnia, że ​​normalny przepływ programu nie powinien pękać.

Rozważmy scenariusz głębokiego zrozumienia obsługi wyjątków w Javie:

Załóżmy, że mamy pięć stwierdzeń w programie, a wyjątek występuje w trzeciej instrukcji, a następnie normalny program zatrzymuje jego wykonanie w tym momencie, a pozostałe dwa instrukcje nie wykonałyby. Jeśli jednak zastosujemy obsługę wyjątków, nie wpłynie to na normalny przepływ.mi. Wyjątek zostanie pokazany wyłącznie dla dotkniętego instrukcji, a wszystkie inne instrukcje zostaną pomyślnie wykonane.

Przykład

Rozważmy poniższy przykład, który nie rozważał mechanizmu obsługi wyjątków. Co się stanie, jeśli wystąpi błąd?

publicClassExceptionHandlingExample
publicStaticVoidMain (String [] args)
int [] arr = 5, 10, 0, 25, 5;
for (inti = 0; i
int num = 50;
System.na zewnątrz.println („wynik:” + num/arr [i]);


W tym programie mamy szereg liczb całkowitych w pętli, określamy warunek ARR.długość, która reprezentuje iterację aż do ostatniego wejścia tablicy. A w ciele pętli mamy liczbę „50” i zostanie ona podzielona przez każdą wartość tablicy:

Ze wyjścia jasno wynika, że ​​program kończy się, gdy wystąpi błąd i nie drukuje pozostałych wartości tablicy.

Dlatego, aby poradzić sobie z takimi scenariuszami, programiści Java korzystają z koncepcji obsługi wyjątków, tak że jeśli wystąpi błąd, zamiast zakończyć cały program, powinien rzucić wyjątek tylko dla dotkniętego instrukcji.

Obsługa wyjątków za pomocą Try-Catch

Jednym z najprostszych i najłatwiejszych sposobów radzenia sobie z wyjątkami jest próbuj złapać stwierdzenia, które pojawiają się jako para. Kod określony w bloku próbnym zostanie przetestowany pod kątem wyjątków/błędów, a jeśli wystąpi wyjątek, zostanie złapany w bloku połowowym.

Podstawowa składnia instrukcji TRY-Catch będzie wyglądać tak:

próbować

// kod do przetestowania wyjątku

złapać

// kod do obsługi wyjątków

Po bloku próbnym zawsze nastąpi przynajmniej jeden blok połowowy.

Przykład

Rozszerzmy poprzedni przykład nieco więcej i dodajmy instrukcje TRY-Catch, aby poradzić sobie z wyjątkami.

publicClassExceptionHandlingExample
publicStaticVoidMain (String [] args)
int num = 50;
int [] arr = 5, 10, 0, 25, 5;
for (inti = 0; ipróbować
System.na zewnątrz.println („wynik:” + num / arr [i]);
catch (wyjątek ex)
System.na zewnątrz.println („występuje wyjątek”);



Pełny kod obok odpowiedniego wyjścia pokazano na poniższym fragmencie:

Tym razem, gdy wystąpi błąd, w tym momencie program pokazuje wiadomość „Występuje wyjątek” a potem pętla iteruje pozostałe wpisy tablicy.

Obsługa wyjątków za pomocą instrukcji wreszcie

W Javie, Wreszcie Słowo kluczowe może być używane z Try-Catch i zawsze będzie wykonywać niezależnie od tego, czy wyjątki są obsługiwane, czy nie.

Notatka: Zawsze pisz ważne instrukcje/kod (które chcesz wykonać w każdej sytuacji) Wreszcie blok.

Przykład

Poniższy fragment kodu pokazuje, jak Wreszcie Block pracuje w Javie:

publicClassExceptionHandlingExample
publicStaticVoidMain (String [] args)
próbować
int numer1 = 12;
int number2 = 0;
System.na zewnątrz.println (numer1/numer2);

catch (arrayIndexoutOfBoundSexceptionExcep)
System.na zewnątrz.println („Wystąpił wyjątek”);

Wreszcie

System.na zewnątrz.println („wreszcie blok”);


Pełny kod i jego odpowiednie wyjście pokazano na poniższym zrzucie ekranu:

Podobnie jak w powyższym kodzie, wykorzystujemy wyjątek ArrayoutofBound, dlatego nie jest on w stanie poradzić sobie z wyjątkiem arytmetycznym. Jednak z powyższego fragmentu jasne jest, że Wreszcie blok wykonuje niezależnie od konsekwencji (i.mi. Wyjątek obsługiwany czy nie).

Obsługa wyjątków za pomocą słowa kluczowego rzutu

Słowo kluczowe rzutów można użyć do wyraźnego rzucenia wyjątku (ja.mi. pozwala nam utworzyć dostosowany wyjątek). Można go używać z dowolnym typem wyjątków, takim jak ArrayIndexoutofboundSexception, arytmeticexception i tak dalej.

Przykład

W tym przykładzie weźmiemy wartość w momencie wywołania funkcji, jeśli wartość wejściowa jest równa 0, wówczas wyrzucimy dostosowane Wyjątek arytmetyczny.

publicClasshrowexample
publicVoidDivide (int input)
liczba int = 100;
if (input == 0)
ThrownewarithMeticexception („\ n Wprowadź 0, nie możesz wykonać podziału”);
w przeciwnym razie
System.na zewnątrz.println („wynik:” + liczba / wejście);


publicStaticVoidMain (String [] args)
Throwexample obj = newthrowexample ();
obj.podziel (0);

Kompletny fragment kodu wraz z wyjściem jest podany w następującym fragmencie:

Powyższy fragment kodu pokazuje, że przejście „0” jako dane wejściowe w dostosowanych wyjątkach, które uwierzytelniają działanie rzucić Słowo kluczowe.

Wniosek

Java zapewnia wiele stwierdzeń do obsługi wyjątków/błędów w czasie wykonywania, takich jak próba, catch, wreszcie, rzut. próbuj złapać stwierdzenia pojawiają się jako para, blok próba testuje kod dla wyjątków/błędów, jeśli wystąpi wyjątek, wówczas zostaną złapane w bloku catch. Wreszcie Słowo kluczowe może być używane z Try-Catch i zawsze będzie wykonywać niezależnie od tego, czy wyjątki są obsługiwane, czy nie, podczas gdy rzucić Słowo kluczowe służy do wyraźnego rzucenia wyjątku. Ten zapis zawiera szczegółowe zrozumienie, jak radzić sobie z wyjątkami w Javie.