The Java hádže kľúčové slovo sa používa na vyhlásenie výnimky. Dáva programátorovi informáciu, že môže nastať výnimka. Preto je lepšie, aby programátor poskytol kód spracovania výnimiek, aby bolo možné zachovať normálny priebeh programu.
Spracovanie výnimiek sa používa hlavne na spracovanie kontrolovaných výnimiek. Ak sa vyskytne nejaká nekontrolovaná výnimka, ako napríklad NullPointerException, je chybou programátora, že nekontroluje kód pred jeho použitím.
reťazcové metódy
Syntax Java throws
return_type method_name() throws exception_class_name{ //method code }
Ktorá výnimka by mala byť vyhlásená?
Roky: Iba začiarknutá výnimka, pretože:
Výhoda Java hodí kľúčové slovo
Teraz je možné skontrolovanú výnimku šíriť (preposlať v zásobníku hovorov).
Poskytuje informáciu volajúcemu metódy o výnimke.
Java hádže Príklad
Pozrime sa na príklad klauzuly throws v jazyku Java, ktorá popisuje, že kontrolované výnimky možno šíriť kľúčovým slovom 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...'); } }Vyskúšajte to
Výkon:
exception handled normal flow...
Pravidlo: Ak voláme metódu, ktorá deklaruje výnimku, musíme výnimku buď zachytiť alebo deklarovať.
Existujú dva prípady:
Prípad 1: Rukoväť výnimku pomocou bloku try-catch
V prípade, že výnimku spracujeme, kód sa vykoná v poriadku bez ohľadu na to, či sa výnimka počas programu vyskytne alebo 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...'); } }Vyskúšajte to
Výkon:
c
exception handled normal flow...
Prípad 2: Vyhláste výnimku
- V prípade, že vyhlásime výnimku, ak sa výnimka nevyskytne, kód sa vykoná v poriadku.
- V prípade, že deklarujeme výnimku a výnimka sa vyskytne, bude vyvolaná za behu, pretože hádže výnimku nerieši.
Pozrime sa na príklady oboch scenárov.
konvencie pomenovania java
A) Ak nenastane výnimka
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...'); } }Vyskúšajte to
Výkon:
device operation performed normal flow...
B) Ak sa vyskytne výnimka
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...'); } }Vyskúšajte to
Výkon:
Rozdiel medzi hodom a hodom
Pre podrobnosti kliknite na mňaQue) Môžeme vrátiť výnimku?
Áno, vyvolaním rovnakej výnimky v bloku catch.