- Obsługa wyjątków
- Zaleta obsługi wyjątków
- Hierarchia klas wyjątków
- Rodzaje wyjątków
- Przykład wyjątku
- Scenariusze, w których może wystąpić wyjątek
The Obsługa wyjątków w Javie jest jednym z potężnych mechanizm obsługi błędów wykonawczych aby można było utrzymać normalny przepływ aplikacji.
W tym samouczku dowiemy się o wyjątkach Java, ich typach oraz różnicy między wyjątkami zaznaczonymi i niesprawdzonymi.
funkcja strzałki maszynopisu
Co to jest wyjątek w Javie?
Znaczenie słownikowe: Wyjątkiem jest stan nienormalny.
W Javie wyjątek to zdarzenie zakłócające normalny przebieg programu. Jest to obiekt rzucany w czasie wykonywania.
Co to jest obsługa wyjątków?
Obsługa wyjątków to mechanizm obsługujący błędy czasu wykonywania, takie jak wyjątek ClassNotFoundException, IOException, SQLException, RemoteException itp.
Zaleta obsługi wyjątków
Podstawową zaletą obsługi wyjątków jest to, że aby utrzymać normalny przepływ aplikacji . Wyjątek zwykle zakłóca normalny przepływ aplikacji; dlatego musimy obsługiwać wyjątki. Rozważmy scenariusz:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Załóżmy, że w programie Java znajduje się 10 instrukcji, a wyjątek występuje w instrukcji 5; reszta kodu nie zostanie wykonana, tj. instrukcje od 6 do 10 nie zostaną wykonane. Jeśli jednak wykonamy obsługę wyjątków, pozostałe instrukcje zostaną wykonane. Dlatego używamy obsługi wyjątków w Jawa .
Czy wiesz?
|
Hierarchia klas wyjątków Java
Klasa java.lang.Throwable jest klasą główną hierarchii wyjątków Java, dziedziczoną przez dwie podklasy: Wyjątek i Błąd. Hierarchia klas wyjątków Java jest podana poniżej:
Rodzaje wyjątków Java
Istnieją głównie dwa typy wyjątków: zaznaczone i niesprawdzone. Błąd jest uważany za niesprawdzony wyjątek. Jednak według Oracle istnieją trzy rodzaje wyjątków, a mianowicie:
- Sprawdzony wyjątek
- Niesprawdzony wyjątek
- Błąd
Różnica między zaznaczonymi i niesprawdzonymi wyjątkami
1) Sprawdzony wyjątek
Klasy, które bezpośrednio dziedziczą klasę Throwable, z wyjątkiem RuntimeException i Error, nazywane są sprawdzanymi wyjątkami. Na przykład IOException, SQLException itp. Sprawdzone wyjątki są sprawdzane w czasie kompilacji.
2) Niesprawdzony wyjątek
Klasy, które dziedziczą wyjątek RuntimeException, nazywane są niesprawdzonymi wyjątkami. Na przykład ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException itp. Niesprawdzone wyjątki nie są sprawdzane w czasie kompilacji, ale są sprawdzane w czasie wykonywania.
3) Błąd
Błąd jest nie do naprawienia. Przykładami błędów są OutOfMemoryError, VirtualMachineError, AssertionError itp.
Słowa kluczowe wyjątków Java
Java udostępnia pięć słów kluczowych używanych do obsługi wyjątku. Poniższa tabela opisuje każdy z nich.
Słowo kluczowe | Opis |
---|---|
próbować | Słowo kluczowe „try” służy do określenia bloku, w którym powinniśmy umieścić kod wyjątku. Oznacza to, że nie możemy używać samego bloku try. Po bloku try musi nastąpić catch lub na końcu. |
złapać | Blok „catch” służy do obsługi wyjątku. Musi być poprzedzony blokiem try, co oznacza, że nie możemy użyć samego bloku catch. Po nim może nastąpić ostateczny blok później. |
Wreszcie | Blok „w końcu” służy do wykonania niezbędnego kodu programu. Jest wykonywany niezależnie od tego, czy wyjątek został obsłużony, czy nie. |
rzucić | Słowo kluczowe „throw” służy do zgłaszania wyjątku. |
rzuca | Słowo kluczowe „throws” służy do deklarowania wyjątków. Określa, że w metodzie może wystąpić wyjątek. Nie zgłasza wyjątku. Jest zawsze używany z podpisem metody. |
Przykład obsługi wyjątków Java
Zobaczmy przykład obsługi wyjątków Java, w którym używamy instrukcji try-catch do obsługi wyjątku.
JavaExceptionExample.java
public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } }Przetestuj teraz
Wyjście:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
W powyższym przykładzie wartość 100/0 wywołuje wyjątek ArithmeticException, który jest obsługiwany przez blok try-catch.
Typowe scenariusze wyjątków Java
Podano kilka scenariuszy, w których mogą wystąpić niesprawdzone wyjątki. Są one następujące:
1) Scenariusz, w którym występuje wyjątek ArithmeticException
Jeśli podzielimy dowolną liczbę przez zero, wystąpi wyjątek ArithmeticException.
int a=50/0;//ArithmeticException
2) Scenariusz, w którym występuje wyjątek NullPointerException
Jeśli mamy wartość null w any zmienny wykonanie dowolnej operacji na zmiennej powoduje wygenerowanie wyjątku NullPointerException.
String s=null; System.out.println(s.length());//NullPointerException
3) Scenariusz, w którym występuje wyjątek NumberFormatException
Jeśli formatowanie dowolnej zmiennej lub liczby jest niezgodne, może to skutkować wyjątkiem NumberFormatException. Załóżmy, że mamy strunowy zmienna zawierająca znaki; konwersja tej zmiennej na cyfrę spowoduje wyjątek NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Scenariusz, w którym występuje wyjątek ArrayIndexOutOfBoundsException
Gdy tablica przekracza swój rozmiar, pojawia się wyjątek ArrayIndexOutOfBoundsException. mogą istnieć inne przyczyny wystąpienia wyjątku ArrayIndexOutOfBoundsException. Rozważ następujące stwierdzenia.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Indeks wyjątków Java
- Blok Try-Catch w Javie
- Blok wielokrotnych przechwytów Java
- Próba zagnieżdżona w Javie
- Java Wreszcie blokuje
- Słowo kluczowe rzucania w Javie
- Propagacja wyjątków Java
- Java rzuca słowo kluczowe
- Rzut Java kontra rzuty
- Finał Java vs Final vs Finalize
- Obsługa wyjątków Java z nadpisywaniem metod
- Niestandardowe wyjątki Java