The Java baca ključnu riječ koristi se za proglašavanje iznimke. Daje informaciju programeru da može doći do iznimke. Stoga je bolje da programer osigura kod za rukovanje iznimkama kako bi se mogao održati normalan tijek programa.
Rukovanje iznimkama se uglavnom koristi za rukovanje provjerenim iznimkama. Ako se dogodi bilo kakva neprovjerena iznimka kao što je NullPointerException, programer je kriv što ne provjerava kod prije nego što se upotrijebi.
nije null u js
Sintaksa Java bacanja
return_type method_name() throws exception_class_name{ //method code }
Koju iznimku treba proglasiti?
Godine: Provjerena samo iznimka, jer:
Prednost Java baca ključne riječi
Now Checked Exception se može propagirati (proslijediti u stogu poziva).
Pruža informacije pozivatelju metode o iznimci.
Java baca Primjer
Pogledajmo primjer Java throws klauzule koja opisuje da se provjerene iznimke mogu propagirati pomoću throws ključne riječi.
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...'); } }Testirajte sada
Izlaz:
exception handled normal flow...
Pravilo: Ako pozivamo metodu koja deklarira iznimku, moramo ili uhvatiti ili deklarirati iznimku.
Postoje dva slučaja:
primjeri javascript koda
Slučaj 1: Rukovanje iznimkom pomoću bloka try-catch
U slučaju da riješimo iznimku, kod će se dobro izvršiti bez obzira na to dogodi li se iznimka tijekom programa ili 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...'); } }Testirajte sada
Izlaz:
exception handled normal flow...
Slučaj 2: Objavite iznimku
- U slučaju da proglasimo iznimku, ako se iznimka ne dogodi, kod će se dobro izvršiti.
- U slučaju da proglasimo iznimku i iznimka se dogodi, bit će izbačena tijekom izvođenja jer bacanja ne obrađuje izuzetak.
Pogledajmo primjere za oba scenarija.
A) Ako se iznimka ne dogodi
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...'); } }Testirajte sada
Izlaz:
vrijeme večere protiv večere
device operation performed normal flow...
B) Ako se dogodi iznimka
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...'); } }Testirajte sada
Izlaz:
Razlika između bacanja i bacanja
Kliknite me za detaljeQue) Možemo li ponovno izbaciti iznimku?
Da, bacanjem iste iznimke u catch blok.