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:
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: 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:
Rozdíl mezi hodem a hodem
Klikněte na mě pro podrobnostiQue) Můžeme vrátit výjimku?
Ano, vyvoláním stejné výjimky v bloku catch.