logo

Java rzuca słowo kluczowe

The Java rzuca słowo kluczowe służy do deklarowania wyjątku. Daje informację programiście, że może wystąpić wyjątek. Dlatego lepiej, aby programista dostarczył kod obsługi wyjątków, aby można było utrzymać normalny przebieg programu.

Obsługa wyjątków jest używana głównie do obsługi sprawdzonych wyjątków. Jeśli wystąpi jakiś niesprawdzony wyjątek, taki jak wyjątek NullPointerException, jest to wina programisty, że nie sprawdził on kodu przed jego użyciem.

mvc w wiosennym frameworku

Składnia rzutów w Javie

 return_type method_name() throws exception_class_name{ //method code } 

Który wyjątek należy zgłosić?

Lata: Sprawdzono tylko wyjątek, ponieważ:

    niesprawdzony wyjątek:pod naszą kontrolą, abyśmy mogli poprawić nasz kod.błąd:poza naszą kontrolą. Na przykład nie jesteśmy w stanie nic zrobić, jeśli wystąpi błąd VirtualMachineError lub StackOverflowError.

Zaleta słowa kluczowego rzucającego w Javie

Teraz można propagować zaznaczony wyjątek (przekazywać dalej na stosie wywołań).

Dostarcza osobie wywołującej metodę informację o wyjątku.

Java rzuca przykład

Zobaczmy przykład klauzuli rzucania w Javie, która opisuje, że sprawdzane wyjątki mogą być propagowane za pomocą słowa kluczowego rzuca.

Testthrows1.java

 import java.io.IOException; class Testthrows1{ void m()throws IOException{ throw new IOException('device error');//checked exception } void n()throws IOException{ m(); } void p(){ try{ n(); }catch(Exception e){System.out.println('exception handled');} } public static void main(String args[]){ Testthrows1 obj=new Testthrows1(); obj.p(); System.out.println('normal flow...'); } } 
Przetestuj teraz

Wyjście:

jak przekonwertować ciąg na int
 exception handled normal flow... 

Reguła: Jeśli wywołujemy metodę deklarującą wyjątek, musimy albo przechwycić, albo zadeklarować wyjątek.

Istnieją dwa przypadki:

    Przypadek 1:Złapaliśmy wyjątek, tj. obsłużyliśmy wyjątek za pomocą bloku try/catch.Przypadek 2:Zadeklarowaliśmy wyjątek, tj. określone słowo kluczowe rzuca w metodzie.

Przypadek 1: Obsługa wyjątku przy użyciu bloku try-catch

W przypadku, gdy obsłużymy wyjątek, kod zostanie wykonany poprawnie, niezależnie od tego, czy wyjątek wystąpi w programie, czy nie.

Testthrows2.java

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } public class Testthrows2{ public static void main(String args[]){ try{ M m=new M(); m.method(); }catch(Exception e){System.out.println('exception handled');} System.out.println('normal flow...'); } } 
Przetestuj teraz

Wyjście:

 exception handled normal flow... 

Przypadek 2: Zgłoś wyjątek

  • W przypadku, gdy zadeklarujemy wyjątek, jeśli wyjątek nie wystąpi, kod zostanie wykonany poprawnie.
  • W przypadku, gdy zadeklarujemy wyjątek i wystąpi on, zostanie on zgłoszony w czasie wykonywania, ponieważ rzuca nie obsługuje wyjątku.

Zobaczmy przykłady obu scenariuszy.

rekha indyjski

A) Jeśli wyjątek nie wystąpi

Testthrows3.java

 import java.io.*; class M{ void method()throws IOException{ System.out.println('device operation performed'); } } class Testthrows3{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Przetestuj teraz

Wyjście:

 device operation performed normal flow... 

B) Jeśli wystąpi wyjątek

Testthrows4.java

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } class Testthrows4{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Przetestuj teraz

Wyjście:

Słowo kluczowe rzucania w Javie

Różnica między rzutem a rzutem

Kliknij mnie po szczegóły

Que) Czy możemy ponownie zgłosić wyjątek?

Tak, zgłaszając ten sam wyjątek w bloku catch.