logo

Java vyvolá klíčové slovo

The Java hází klíčové slovo se používá k vyhlášení výjimky. Dává informaci programátorovi, že může nastat výjimka. Je tedy lepší, aby programátor poskytl kód zpracování výjimek, aby bylo možné zachovat normální tok programu.

Zpracování výjimek se používá hlavně ke zpracování zaškrtnutých výjimek. Pokud se vyskytne nějaká nekontrolovaná výjimka, jako je NullPointerException, je chyba programátora, že nekontroluje kód před jeho použitím.

java znak na celé číslo

Syntaxe Java throws

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

Jaká výjimka by měla být vyhlášena?

roky: Pouze zaškrtnutá výjimka, protože:

    nezaškrtnutá výjimka:pod naší kontrolou, abychom mohli opravit náš kód.chyba:mimo naši kontrolu. Například nemůžeme nic udělat, pokud dojde k chybě VirtualMachineError nebo StackOverflowError.

Výhoda Java hází klíčové slovo

Nyní lze zaškrtnutou výjimku šířit (předat dál v zásobníku volání).

Poskytuje informaci volajícímu metody o výjimce.

Java hází Příklad

Podívejme se na příklad klauzule throws v jazyce Java, která popisuje, že kontrolované výjimky lze šířit pomocí klíčového slova throws.

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...'); } } 
Otestujte to hned

Výstup:

 exception handled normal flow... 

Pravidlo: Pokud voláme metodu, která deklaruje výjimku, musíme výjimku buď zachytit, nebo deklarovat.

Existují dva případy:

    Případ 1:Zachytili jsme výjimku, tj. výjimku jsme zpracovali pomocí bloku try/catch.Případ 2:S metodou jsme deklarovali výjimku, tj. zadané klíčové slovo throws.

Případ 1: Handle Exception Použití bloku try-catch

V případě, že výjimku zpracujeme, bude kód spuštěn v pořádku, ať už k výjimce během programu dojde nebo ne.

Testthrows2.java

iterovat mapu v Javě
 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...'); } } 
Otestujte to hned

Výstup:

 exception handled normal flow... 

Případ 2: Deklarace výjimky

  • V případě, že vyhlásíme výjimku, pokud se výjimka nevyskytne, kód se provede v pořádku.
  • V případě, že deklarujeme výjimku a dojde k výjimce, bude vyvolána za běhu, protože hází nezpracovává výjimku.

Podívejme se na příklady pro oba scénáře.

A) Pokud nenastane výjimka

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...'); } } 
Otestujte to hned

Výstup:

přenést řetězec do int java
 device operation performed normal flow... 

B) Pokud dojde k výjimce

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...'); } } 
Otestujte to hned

Výstup:

Klíčové slovo Java throw

Rozdíl mezi hodem a hodem

Klikněte na mě pro podrobnosti

Que) Můžeme vrátit výjimku?

Ano, vyvoláním stejné výjimky v bloku catch.