Introduktion til Throw Keywords i Java

Dette kaste-nøgleord bruges tydeligt i konceptet med undtagelseshåndtering. Som navnet allerede antyder, kaster nøgleord alt om at kaste en undtagelse fra programmet til compileren. Kortfattet undtagelse; det er en type fejl, at der vises en compiler fra programmet i tilfælde af uoverensstemmelser i løbet af koden. Så ved at bruge dette kast-nøgleord, kan vi definere vores undtagelse ved at tolke enhver årsag til fejl i løbet af programmets kørselstid.

Lad os se flere detaljer om det nedenfor:

Syntaks

Syntaks for indkast i java er som nedenfor:

throw exception_type ;

eller

throw instance;

Arbejder i Java

Vi kan her kontrollere, hvordan nøgleordet rent faktisk bruges, og forstå, hvordan strømmen faktisk fungerer gennem et eksempel.

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

Lad os tackle dette med et klassisk og simpelt eksempel på opdeling med nul.

Analyse af koden herunder:

  • For det første importerede vi Scanner-modulet for at tage brugerinputværdierne.
  • Vi læser to numre, nemlig 'A' og 'B', der gives som input til brugeren.
  • Vi erklærede en variabel 'C' til at gemme værdien af ​​kvotienten efter opdelingen af ​​tallet 'A' med 'B'.
  • Da tallene kan gives tilfældigt af brugeren, kan vi tænke på en situation, hvor en bruger kan give divisoren som nul.
  • Accepterer dette scenarie, skriver vi vores divisionskode i en prøveblok.
  • Og skriver hvis en betingelse for, at hvis 'B' -værdien har nul, kaster vi en undtagelse.
  • Forsøg vil altid blive efterfulgt af en fangstblok.
  • Så her nævner vi undtagelsen, som vi definerede ved hjælp af en ny kommando ved nøgleordskast.
  • Den samme undtagelse er der fanget, og vi har lige udskrevet en erklæring nedenfor for at give en klar forståelse af at nå flowet af prøve, kast, fangst og til sidst.
  • Og så til sidst erklærer vi vores endelige blok. Som allerede kendt vil udsagnene i denne blok bestemt udføre.

Lad os tjekke output nedenfor.

Output 1: Hvis b-værdien ikke er en nul.

Vi kan tydeligt se, at der ikke er nogen prøve-, kast- og fangstblokke udført, da 'B' -værdien er ikke-nul. Og endelig blev blokken henrettet uanset oprettelsen af ​​undtagelser.

Output 2: Hvis b-værdien er nul.

Den fremhævede del sørger for, at undtagelsen bliver kastet og fanget af fangstblokken med succes.

Så lad os se et eksempel nedenfor.

Eksempel:

Lad os se en måde, hvordan vi kan smide flere undtagelser i et enkelt program.

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

Ovenfor har vi brugt to forskellige typer undtagelser og brugt kaste-nøgleord til at fortolke programmet. Array index ud af bundet og Null pointer undtagelse er det, vi brugte her i et enkelt program.

Produktion:

Betydningen af ​​at kaste

Dette kaste-nøgleord vil hjælpe os med at fungere som en bro mellem tryk og fangstblokke. Det vil hjælpe med at overføre styringen af ​​programmet fra prøveblokken til fangstblokken.

Lad mig vise dig et eksempel på, hvordan et program fungerer med og uden brug af kaste-nøgleord.

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

Vi har skrevet kode uden søgeordet. Men vi brugte koden i try and catch-blok, som faktisk håndterer undtagelsen. Så kender du output fra ovenstående?

Forventet ikke? Så den udførte koden, fandt en undtagelse, og undtagelsen er fanget.

Hvordan fungerer koden nu, når vi indsætter vores udsagn? Lad os se nedenfor.

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

Kun den fremhævede del er ændringen mellem de to ovenstående koder.

Produktion:

Ja, vi har en kompilationsfejl, da udskrivningsangivelsen efter nøgleordet er et uopnåeligt udsagn. Gennem dette eksempel håber vi, at du forstod, hvad det præcist betydede ved at "overføre kontrollen fra forsøg på at fange blok".

Som en øvelse kan du prøve at fjerne udskrivningsopgørelsen efter søgeordet, og kontrollere, hvordan programmet reagerer.

Konklusion - smid nøgleord i Java

Så dette er, hvordan kastkommandoen er kommet ind i billedet på tidspunktet for undtagelseshåndtering. Og vær opmærksom på, at der er en god forskel mellem THROW og THROWS søgeord. Begge anvendes med begrebet undtagelser. Vi har allerede kendt konceptet, hvordan og hvor vi faktisk kan bruge "THROW" nøgleordet. Bare praksis og prøv at bruge det på forskellige måder. Fortsæt med at lære.

Anbefalede artikler

Dette er en guide til at smide nøgleord i Java. Her diskuterer vi introduktionen, arbejde i Java og vigtigheden af ​​at kaste. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Beskyttet nøgleord i Java
  2. Til loop i JavaScript
  3. Mens Loop i Java
  4. Fortsæt erklæring i Java
  5. Fortsæt udsagnsarbejdet i C # med eksempler

Kategori: