Introductie van Throw Keyword in Java

Dit Throw-trefwoord wordt prominent gebruikt in het concept van Exception Handling. Zoals de naam al doet vermoeden, draait throw-trefwoord helemaal om het weggooien van een uitzondering van het programma naar de compiler. Briefing over uitzondering; het is een soort fout dat een compiler uit het programma springt in het geval van een afwijking tijdens de uitvoering van de code. Door dit throw-trefwoord te gebruiken, kunnen we onze uitzondering definiëren door elke oorzaak van fouten tijdens de uitvoering van het programma te interpreteren.

Laten we hieronder meer details bekijken:

Syntaxis

Syntaxis van throw in Java is als volgt:

throw exception_type ;

of

throw instance;

Werken in Java

We kunnen hier controleren hoe het trefwoord daadwerkelijk wordt gebruikt en begrijpen hoe de stroom door een voorbeeld werkt.

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");
)
)

Laten we dit behandelen met een klassiek en eenvoudig voorbeeld van deling door nul.

Analyse van onderstaande code:

  • Ten eerste hebben we de scannermodule geïmporteerd om de invoerwaarden van de gebruiker te nemen.
  • We lezen twee cijfers namelijk 'A' en 'B' die als invoer voor de gebruiker worden gegeven.
  • We hebben een variabele 'C' gedeclareerd om de waarde van het quotiënt op te slaan na de deling van getal 'A' door 'B'.
  • Omdat de getallen willekeurig door de gebruiker kunnen worden gegeven, kunnen we een situatie bedenken waarin een gebruiker de deler als nul kan geven.
  • Als we dat scenario accepteren, schrijven we onze divisiecode in een try-blok.
  • En als we een voorwaarde schrijven dat in het geval dat de waarde 'B' nul is, dan gooien we een uitzondering.
  • Probeer zou altijd worden gevolgd door een vangblok.
  • Dus hier vermelden we de uitzondering die we hebben gedefinieerd met behulp van een nieuw commando met trefwoord throw.
  • Dezelfde uitzondering is er en we hebben zojuist een verklaring afgedrukt om een ​​duidelijk begrip te krijgen van het bereiken van de stroom van de try, throw, catch en uiteindelijk.
  • En ten slotte verklaren we ons eindelijk blok. Zoals reeds bekend, zullen de verklaringen in dit blok zeker worden uitgevoerd.

Laten we de output hieronder bekijken.

Uitgang 1: Als b waarde geen nul is.

We kunnen duidelijk zien dat er geen try-, throw- en catch-blokken worden uitgevoerd, omdat de 'B'-waarde niet nul is. En ten slotte werd het blok uitgevoerd ongeacht de creatie van uitzonderingen.

Uitgang 2: Als de b-waarde nul is.

Het gemarkeerde deel zorgt ervoor dat de uitzondering met succes wordt gegooid en gevangen door het vangblok.

Dus laten we hieronder een voorbeeld bekijken.

Voorbeeld:

Laten we eens kijken hoe we meerdere uitzonderingen in een enkel programma kunnen gooien.

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");
)
)
)

Hierboven hebben we twee verschillende soorten uitzonderingen gebruikt en het trefwoord throw gebruikt om het programma te interpreteren. Matrixindex buiten gebonden en Null-aanwijzeruitzondering is wat we hier in een enkel programma gebruikten.

Output:

Het belang van gooien

Dit throw-trefwoord zou ons helpen een brug te slaan tussen try en catch-blokken. Het gaat helpen bij het overbrengen van de besturing van het programma van het try-blok naar het catch-blok.

Laat me je een voorbeeld laten zien van hoe een programma werkt met en zonder het gebruik van throw-trefwoord.

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");
)
)

We hebben code geschreven, zonder het sleutelwoord throw. Maar we gebruikten de code in het try and catch-blok, wat in feite de uitzondering zal behandelen. Dus, weet jij de output van het bovenstaande?

Verwacht toch? Dus voerde het de code uit, vond een uitzondering en de uitzondering is gevangen.

Hoe werkt de code nu wanneer we onze throw-instructie invoegen? Laten we hieronder kijken.

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");
)
)

Alleen het gemarkeerde deel is de wijziging tussen de bovenstaande twee codes.

Output:

Ja, we hebben een compilatiefout, omdat de printopdracht na het throw-trefwoord een onbereikbare instructie is. Door dit voorbeeld hopen we dat je hebt begrepen wat het precies bedoelde met "de controle overdragen van proberen blok te vangen".

Probeer als oefening de afdrukinstructie na het trefwoord gooi te verwijderen en controleer hoe het programma reageert.

Conclusie: gooi trefwoord in Java

Dit is dus hoe het throw-commando in beeld is gekomen op het moment van afhandeling van uitzonderingen. En merk op dat er een goed verschil is tussen THROW en THROWS-trefwoord. Beide worden gebruikt met het concept uitzonderingen. We hebben het concept al gekend, hoe en waar we eigenlijk het trefwoord 'THROW' kunnen gebruiken. Oefen en probeer het op verschillende manieren te gebruiken. Blijf leren.

Aanbevolen artikelen

Dit is een gids voor Throw Keyword in Java. Hier bespreken we de introductie, werken in Java en het belang van gooien. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Beschermd trefwoord in Java
  2. Voor lus in JavaScript
  3. Terwijl Loop in Java
  4. Vervolg Verklaring in Java
  5. Vervolg statement work in C # met voorbeelden