logo

Java vrže ključno besedo

The Java vrže ključno besedo se uporablja za razglasitev izjeme. Programerju daje informacijo, da lahko pride do izjeme. Zato je bolje, da programer zagotovi kodo za obravnavo izjem, da se lahko ohrani normalen tok programa.

Obravnavanje izjem se v glavnem uporablja za obravnavanje preverjenih izjem. Če pride do kakršne koli nepreverjene izjeme, kot je NullPointerException, je programer kriv, ker kode ne preveri, preden jo uporabi.

java char v celo število

Sintaksa metanja Java

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

Katero izjemo je treba razglasiti?

leta: Preverjena samo izjema, ker:

    nepreverjena izjema:pod našim nadzorom, da lahko popravimo svojo kodo.napaka:izven našega nadzora. Na primer, ne moremo storiti ničesar, če pride do napake VirtualMachineError ali StackOverflowError.

Prednost Java vrže ključno besedo

Zdaj je mogoče preverjeno izjemo razširiti (posredovati v skladu klicev).

Klicatelju metode zagotavlja informacije o izjemi.

Java vrže Primer

Oglejmo si primer Java throws klavzule, ki opisuje, da se preverjene izjeme lahko razširijo s ključno besedo 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...'); } } 
Preizkusite zdaj

Izhod:

java pretvori niz v int
 exception handled normal flow... 

Pravilo: Če kličemo metodo, ki razglasi izjemo, moramo izjemo bodisi ujeti bodisi razglasiti.

Obstajata dva primera:

    1. primer:Ujeli smo izjemo, tj. izjemo smo obravnavali z blokom poskusi/ulovi.2. primer:Razglasili smo izjemo, tj. določeno ključno besedo throws z metodo.

Primer 1: Obravnava izjeme z uporabo bloka poskusi-ulovi

V primeru, da obravnavamo izjemo, se bo koda pravilno izvedla, ne glede na to, ali do izjeme pride med programom ali ne.

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...'); } } 
Preizkusite zdaj

Izhod:

 exception handled normal flow... 

Primer 2: Razglasite izjemo

  • Če razglasimo izjemo, se bo koda pravilno izvedla, če do izjeme ne pride.
  • V primeru, da razglasimo izjemo in se izjema pojavi, bo vržena med izvajanjem, ker vrže ne obravnava izjeme.

Oglejmo si primere za oba scenarija.

kako razvrstiti matriko v Javi

A) Če do izjeme ne pride

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...'); } } 
Preizkusite zdaj

Izhod:

 device operation performed normal flow... 

B) Če pride do izjeme

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...'); } } 
Preizkusite zdaj

Izhod:

Ključna beseda Java throw

Razlika med metom in meti

Kliknite me za podrobnosti

Que) Ali lahko ponovno vržemo izjemo?

Da, z vračanjem iste izjeme v blok catch.