logo

Obsługa wyjątków w Javie

  1. Obsługa wyjątków
  2. Zaleta obsługi wyjątków
  3. Hierarchia klas wyjątków
  4. Rodzaje wyjątków
  5. Przykład wyjątku
  6. 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?
  • Jaka jest różnica między zaznaczonymi i niesprawdzonymi wyjątkami?
  • Co dzieje się za kodem int data=50/0;?
  • Po co używać wielu bloków catch?
  • Czy istnieje możliwość, że blok final nie zostanie wykonany?
  • Co to jest propagacja wyjątków?
  • Jaka jest różnica między słowami kluczowymi rzut i rzuty?
  • Jakie są 4 zasady korzystania z obsługi wyjątków przy przesłanianiu metod?

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:

hierarchia obsługi wyjątków

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:

  1. Sprawdzony wyjątek
  2. Niesprawdzony wyjątek
  3. Błąd
hierarchia obsługi wyjątków

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 kluczoweOpis
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.
WreszcieBlok „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.
rzucaSł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

  1. Blok Try-Catch w Javie
  2. Blok wielokrotnych przechwytów Java
  3. Próba zagnieżdżona w Javie
  4. Java Wreszcie blokuje
  5. Słowo kluczowe rzucania w Javie
  6. Propagacja wyjątków Java
  7. Java rzuca słowo kluczowe
  8. Rzut Java kontra rzuty
  9. Finał Java vs Final vs Finalize
  10. Obsługa wyjątków Java z nadpisywaniem metod
  11. Niestandardowe wyjątki Java