The Java meta raktinį žodį naudojamas paskelbti išimtį. Tai suteikia programuotojui informaciją, kad gali būti išimtis. Taigi, programuotojui geriau pateikti išimčių tvarkymo kodą, kad būtų galima palaikyti normalią programos eigą.
Išimčių tvarkymas daugiausia naudojamas pažymėtoms išimtims tvarkyti. Jei atsiranda kokia nors nepažymėta išimtis, pvz., NullPointerException, tai programuotojų kaltė, kad jis netikrina kodo prieš jį naudojant.
konvertuoti į dvigubą java
Java metimų sintaksė
return_type method_name() throws exception_class_name{ //method code }
Kokią išimtį reikia paskelbti?
Metai: Tik pažymėta išimtis, nes:
„Java“ meta raktažodžio pranašumas
Dabar Pažymėta išimtis gali būti platinama (persiunčiama skambučių krūvoje).
Jis suteikia informaciją metodo skambintojui apie išimtį.
Java meta Pavyzdys
Pažiūrėkime „Java throws“ sąlygos pavyzdį, kuriame aprašoma, kad patikrintos išimtys gali būti perduodamos naudojant raktinį žodį 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...'); } }Išbandykite dabar
Išvestis:
exception handled normal flow...
Taisyklė: jei iškviečiame metodą, kuris skelbia išimtį, turime arba sugauti, arba paskelbti išimtį.
Yra du atvejai:
1 atvejis: rankenos išimtis Naudojant bandomąjį gaudymo bloką
Jei apdorosime išimtį, kodas bus vykdomas gerai, neatsižvelgiant į tai, ar programos metu atsiranda išimtis, ar ne.
burbulų rūšiavimas
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...'); } }Išbandykite dabar
Išvestis:
exception handled normal flow...
2 atvejis: paskelbkite išimtį
- Jei paskelbsime išimtį, jei išimtis neįvyks, kodas bus vykdomas gerai.
- Jei paskelbsime išimtį ir įvyks išimtis, ji bus išmesta vykdymo metu, nes metimai išimties netaiko.
Pažiūrėkime abiejų scenarijų pavyzdžius.
mašinraščio foreach kilpa
A) Jei išimtis neįvyksta
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...'); } }Išbandykite dabar
Išvestis:
device operation performed normal flow...
B) Jei įvyksta išimtis
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...'); } }Išbandykite dabar
Išvestis:
Skirtumas tarp metimų ir metimų
Norėdami sužinoti daugiau, spustelėkite maneKlausimas) Ar galime atmesti išimtį?
Taip, įmetant tą pačią išimtį gaudymo bloke.