logo

Java heittää avainsanan

The Java heittää avainsanan käytetään julistamaan poikkeus. Se antaa ohjelmoijalle tiedon, että poikkeus saattaa tapahtua. Joten ohjelmoijan on parempi antaa poikkeuskäsittelykoodi, jotta ohjelman normaali kulku voidaan ylläpitää.

Poikkeuskäsittelyä käytetään pääasiassa valittujen poikkeusten käsittelyyn. Jos tapahtuu tarkistamaton poikkeus, kuten NullPointerException, on ohjelmoijan vika, että hän ei tarkista koodia ennen sen käyttöä.

java boolean

Java-heittojen syntaksi

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

Mikä poikkeus pitäisi ilmoittaa?

Vuodet: Vain valittu poikkeus, koska:

    valitsematon poikkeus:hallinnassamme, jotta voimme korjata koodimme.virhe:meidän hallinnassamme. Emme esimerkiksi voi tehdä mitään, jos tapahtuu VirtualMachineError tai StackOverflowError.

Java heittää avainsanan etu

Nyt Checked Exception voidaan levittää (edelleen puhelupinossa).

Se antaa menetelmän soittajalle tietoa poikkeuksesta.

Java heittää esimerkin

Katsotaanpa esimerkki Java-heittolausekkeesta, joka kuvaa, että valitut poikkeukset voidaan levittää throws-avainsanalla.

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...'); } } 
Testaa nyt

Lähtö:

 exception handled normal flow... 

Sääntö: Jos kutsumme menetelmää, joka ilmoittaa poikkeuksen, meidän on joko otettava kiinni tai julistettava poikkeus.

Tapauksia on kaksi:

    Tapaus 1:Olemme saaneet poikkeuksen kiinni, eli olemme käsitelleet poikkeuksen try/catch blockilla.Tapaus 2:Olemme ilmoittaneet poikkeuksen eli määritetyn heittää avainsanan menetelmällä.

Tapaus 1: Kahvapoikkeus Try-catch-lohkon avulla

Jos käsittelemme poikkeuksen, koodi suoritetaan hyvin riippumatta siitä, tapahtuuko poikkeus ohjelman aikana vai ei.

happoominaisuuksien tietokanta

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...'); } } 
Testaa nyt

Lähtö:

 exception handled normal flow... 

Tapaus 2: Ilmoita poikkeus

  • Jos julistamme poikkeuksen, jos poikkeusta ei tapahdu, koodi suoritetaan hyvin.
  • Jos julistamme poikkeuksen ja poikkeus tapahtuu, se heitetään suorituksen aikana, koska heittoja ei käsittele poikkeusta.

Katsotaanpa esimerkkejä molemmista skenaarioista.

merkkijono kokonaisluvuksi muuntaa

A) Jos poikkeusta ei tapahdu

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...'); } } 
Testaa nyt

Lähtö:

 device operation performed normal flow... 

B) Jos poikkeus tapahtuu

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...'); } } 
Testaa nyt

Lähtö:

Java-heitto-avainsana

Ero heiton ja heiton välillä

Napsauta minua saadaksesi lisätietoja

Kysymys) Voimmeko tehdä poikkeuksen uudelleen?

Kyllä, heittämällä saman poikkeuksen saalislohkoon.