Sissejuhatus märksõna viskamisse Java keeles

Seda viskamise märksõna kasutatakse silmatorkavalt erandite käsitlemise kontseptsioonis. Nagu nimest juba järeldada võib, tähendab märksõna viskamine erandi väljajätmist programmist kompilaatorile. Teavitamine erandkorras; see on teatud tüüpi tõrge, mille kompilaator hüppab programmist välja juhul, kui koodi käitamisperioodil ilmneb lahknevusi. Niisiis, kasutades seda viske märksõna, saame oma erandi määratleda, tõlgendades mis tahes vigade põhjuseid programmi käitamisajal.

Vaatame selle kohta lähemalt allpool:

Süntaks

Jaava viske süntaks on järgmine:

throw exception_type ;

või

throw instance;

Töötamine Java-s

Siin saame kontrollida, kuidas märksõna tegelikult kasutatakse, ja näite kaudu mõista, kuidas voog tegelikult töötab.

import java.util.Scanner;
public class Main
(
public static void main(String() args) (
int c;
Scanner sc = new Scanner(System.in);
System.out.println("Enter value of A: ");
int a = sc.nextInt();
//Scanner b = new Scanner(System.in);
System.out.println("Enter value of B: ");
int b = sc.nextInt();
try (
c= a/b;
if(b==0)
(
throw new ArithmeticException();
)
System.out.println("Value of C is: " +c);
)
catch(ArithmeticException e) (
System.out.println("Caught this here");
)
finally (
)
System.out.println("Finally block is here");
)
)

Vaatleme seda klassikalise ja lihtsa näitega jagamisel nulliga.

Allpool oleva koodi analüüsimine:

  • Esiteks importisime skänneri mooduli, et võtta arvesse kasutaja sisendväärtusi.
  • Me lugesime kahte numbrit, nimelt A ja B, mis antakse kasutajale sisendina.
  • Deklareerisime muutuja C, et jaotada väärtuse väärtus pärast arvu A jagamist B-ga.
  • Kuna numbrid saab kasutaja juhuslikult anda, võime mõelda olukorrale, kus kasutaja võib jagada jagaja nulliks.
  • Selle stsenaariumiga nõustudes kirjutame oma jaoskoodi prooviplokki.
  • Ja kui kirjutame tingimuse, mille korral juhul, kui B väärtus on null, siis toome välja erandi.
  • Proovile järgneb alati püügiblokk.
  • Siinkohal mainime erandit, mille määratlesime uue käskluse abil märksõna viskamise teel.
  • Sama erand on seal püütud ja me lihtsalt printisime allpool välja avalduse, et saada selge arusaam proovimise, viskamise, püüdmise ja lõpuks voolu saavutamisest.
  • Ja lõpuks kuulutame lõpuks oma bloki. Nagu juba teada, hakatakse selles blokis esitatud avaldusi kindlasti täitma.

Vaatame allpool toodud väljundit.

1. väljund: kui b väärtus ei ole null.

Me näeme selgelt, et ühtegi proovimis-, viskamis- ja püüdmisplokki ei tehta, kuna B-väärtus ei ole null. Ja lõpuks sai blokk teostatud sõltumata erandi loomisest.

2. väljund: kui b väärtus on null.

Esiletõstetud osa tagab, et erand on edukalt visatud ja püütud.

Vaatame allpool näidet.

Näide:

Vaadakem võimalust, kuidas saaksime ühes programmis visata mitu erandit.

public class Main
(
public static void main(String() args) (
String sun() = ("chocolate", "honey", "sugar", "sweet", "bitter");
String h = null;
try (
for (int i=0; i<=7; i++)
(
if(i > sun.length)
(
throw new ArrayIndexOutOfBoundsException();
)
System.out.println(sun(i));
)
)
catch(ArrayIndexOutOfBoundsException ae)
(
System.out.println("Inside array index out of bounds exception catch block");
)
try(
sun(0)=h;
if (sun(0) == null)
(
throw new NullPointerException();
)
System.out.println("Value of sun(0) is: " +sun(0));
)
catch(NullPointerException f)
(
System.out.println("Caught Null point exception");
)
finally (
System.out.println("executing finally");
)
)
)

Ülalpool oleme programmi tõlgendamiseks kasutanud kahte erinevat tüüpi erandeid ja visanud märksõna. Massiivi indeksit, mis on seotud köidetud ja nullkursori erandist, kasutasime siin ühe programmina.

Väljund:

Viskamise olulisus

See visata märksõna aitaks meil tegutseda sillana proovimisplokkide vahel. See aitab programmi juhtimise üleviimisel prooviplokist püügiploki.

Lubage mul näidata teile näide, kuidas programm töötab koos viskamise märksõnaga ja ilma selleta.

public class Main
(
public static void main(String() args) (
try (
int a = Integer.parseInt ("Happy") ;
System.out.println("Will this get printed?");
) catch(NumberFormatException e) (
System.out.println("Number format exception of catch block");
)
System.out.println("Priting after catch block");
)
)

Oleme kirjutanud koodi ilma visata võtmesõnata. Kuid me kasutasime koodi proovimisplokis, mis on tegelikult erandi käsitlemine. Niisiis, kas teate ülaltoodud väljundit?

Olete oodatud? Niisiis, see täitis koodi, leidis erandi ja erand on püütud.

Nüüd, kuidas kood töötab, kui sisestame viskamise avalduse? Vaatame allpool.

public class Main
(
public static void main(String() args) (
try (
int a = Integer.parseInt ("Happy") ;
throw new NumberFormatException();
System.out.println("Will this get printed?");
) catch(NumberFormatException e) (
System.out.println("Number format exception of catch block");
)
System.out.println("Priting after catch block");
)
)

Ainult esiletõstetud osa on kahe ülalnimetatud koodi vahetamine.

Väljund:

Jah, meil on koostamisviga, kuna prindi väljavõte pärast märksõna on kättesaamatu avaldus. Selle näite kaudu loodame, et mõistisite, mida see tähendab „kontrolli ülekandmine proovilt blokeerida”.

Harjutusena proovige pärast märksõna viskamist prindi väljavõte eemaldada, kontrollige, kuidas programm reageerib.

Järeldus - visake märksõna Java-sse

Niisiis, viskekäsk on erandite käsitlemise ajal pildile jõudnud. Ja pange tähele, et märksõna THROW ja THROWS vahel on hea erinevus. Mõlemat kasutatakse erandite mõistega. Oleme juba kontseptsiooni teadnud, kuidas ja kus tegelikult saame märksõna “THROW” kasutada. Lihtsalt harjutage ja proovige seda erinevatel viisidel kasutada. Jätkake õppimist.

Soovitatavad artiklid

See on Java visandamise märksõna juhend. Siin käsitleme sissejuhatust, Java-s töötamist ja viskamise olulisust. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Kaitstud märksõna Java-s
  2. Loop jaoks JavaScriptis
  3. Kuigi Loop Java
  4. Jätka avaldust Java keeles
  5. Jätkake avalduse tööd C #-ga näidetega

Kategooria: