logo

Java hádže kľúčové slovo

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:

    nezaškrtnutá výnimka:pod našou kontrolou, aby sme mohli opraviť náš kód.chyba:mimo našej kontroly. Napríklad nemôžeme urobiť nič, ak sa vyskytne chyba VirtualMachineError alebo StackOverflowError.

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:Zachytili sme výnimku, tj výnimku sme spracovali pomocou bloku try/catch.Prípad 2:S metódou sme deklarovali výnimku, t. j. zadané kľúčové slovo throws.

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:

Kľúčové slovo Java throw

Rozdiel medzi hodom a hodom

Pre podrobnosti kliknite na mňa

Que) Môžeme vrátiť výnimku?

Áno, vyvolaním rovnakej výnimky v bloku catch.