The Java aruncă cuvântul cheie este folosit pentru a declara o excepție. Oferă o informație programatorului că poate apărea o excepție. Deci, este mai bine ca programatorul să furnizeze codul de gestionare a excepțiilor, astfel încât fluxul normal al programului să poată fi menținut.
Gestionarea excepțiilor este folosită în principal pentru a gestiona excepțiile verificate. Dacă apare vreo excepție neverificată, cum ar fi NullPointerException, este vina programatorilor că nu verifică codul înainte de a fi utilizat.
python este numeric
Sintaxa aruncărilor Java
return_type method_name() throws exception_class_name{ //method code }
Ce excepție ar trebui declarată?
Ani: Excepție bifată numai, deoarece:
Avantajul cuvântului cheie Java aruncă
Now Checked Exception poate fi propagată (redirecționată în stiva de apeluri).
Oferă informații apelantului metodei despre excepție.
Java aruncă un exemplu
Să vedem exemplul clauzei Java throws care descrie că excepțiile verificate pot fi propagate prin cuvântul cheie 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...'); } }Testează-l acum
Ieșire:
exception handled normal flow...
Regula: Dacă apelăm o metodă care declară o excepție, trebuie fie să prindem, fie să declarăm excepția.
Există două cazuri:
realizarea de tabele din latex
Cazul 1: Gestionați excepția folosind blocul try-catch
În cazul în care gestionăm excepția, codul va fi executat bine indiferent dacă excepția apare în timpul programului sau nu.
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...'); } }Testează-l acum
Ieșire:
exception handled normal flow...
Cazul 2: declarați excepția
- În cazul în care declarăm excepția, dacă excepția nu apare, codul va fi executat bine.
- În cazul în care declarăm excepția și apare excepția, aceasta va fi aruncată în timpul execuției deoarece aruncări nu se ocupă de excepție.
Să vedem exemple pentru ambele scenarii.
A) Dacă nu apare o excepție
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...'); } }Testează-l acum
Ieșire:
exemplu de tăiere alfa beta
device operation performed normal flow...
B) Dacă apare o excepție
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...'); } }Testează-l acum
Ieșire:
Diferența dintre aruncare și aruncare
Click pe mine pentru detaliiQue) Putem reintroduce o excepție?
Da, aruncând aceeași excepție în blocul catch.