Introduksjon til Throw Keywords i Java

Dette kastetøkkelordet er tydelig brukt i konseptet unntakshåndtering. Som navnet allerede antyder, handler nøkkelord om å kaste ut et unntak fra programmet til kompilatoren. Briefing på unntak; det er en type feil at en kompilator dukker ut fra programmet i tilfelle det oppstår avvik i løpet av koden. Så ved å bruke dette kastetøkkelordet, kan vi definere vårt unntak ved å tolke enhver årsak til feil i løpet av programmets kjøretid.

La oss se flere detaljer om det nedenfor:

syntax

Syntaks for innkast i java er som nedenfor:

throw exception_type ;

eller

throw instance;

Jobber i Java

Vi kan her sjekke hvordan nøkkelordet faktisk brukes og forstå hvordan flyten faktisk fungerer gjennom 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");
)
)

La oss ta tak i dette med et klassisk og enkelt eksempel på deling med null.

Analyse av koden nedenfor:

  • For det første importerte vi skannermodulen for å ta brukerens inngangsverdier.
  • Vi leser to tall, nemlig 'A' og 'B' som gis som innspill til brukeren.
  • Vi erklærte en variabel 'C' for å lagre verdien på kvotienten etter delingen av tallet 'A' med 'B'.
  • Ettersom tallene kan gis tilfeldig av brukeren, kan vi tenke på en situasjon der en bruker kan gi deleren som null.
  • Aksepterer dette scenariet, skriver vi divisjonskoden i en prøveblokk.
  • Og skriver hvis en betingelse at i tilfelle hvis 'B' verdi har null, så kaster vi et unntak.
  • Forsøk vil alltid bli fulgt av en fangstblokk.
  • Så her nevner vi unntaket som vi definerte ved hjelp av en ny kommando etter nøkkelordkast.
  • Det samme unntaket er fanget, og vi trykket bare ut en uttalelse nedenfor for å gi en klar forståelse av å oppnå flyt av prøve, kast, fangst og til slutt.
  • Og så til slutt, erklærer vi vår endelige blokkering. Som allerede kjent kommer uttalelsene i denne blokken definitivt til å utføres.

La oss sjekke utdataene nedenfor.

Utgang 1: Hvis b-verdien ikke er null.

Vi kan tydelig se at det ikke er noen prøve-, kast- og fangstblokker utført siden 'B'-verdien ikke er null. Og til slutt ble blokken henrettet uavhengig av skapelsen av unntak.

Utgang 2: Hvis b-verdien er null.

Den fremhevede delen sørger for at unntaket blir kastet og fanget av fangstblokken med hell.

Så la oss se et eksempel nedenfor.

Eksempel:

La oss se hvordan vi kan kaste flere unntak 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");
)
)
)

Over har vi brukt to forskjellige typer unntak og brukt kast nøkkelord for å tolke programmet. Array-indeks uten unntak og unntak fra nullpeker er det vi brukte her i et enkelt program.

Produksjon:

Viktigheten av å kaste

Dette kastetøkkelordet vil hjelpe oss å fungere som en bro mellom prøve og fangstblokker. Det kommer til å hjelpe med å overføre kontrollen av programmet fra prøveblokk til fangstblokk.

La meg vise deg et eksempel på hvordan et program fungerer med og uten bruk av et nøkkelord.

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, uten kasteord. Men vi brukte koden i try and catch block, som faktisk kommer til å håndtere unntaket. Så, kjenner du resultatet til det ovennevnte?

Forventet ikke sant? Så den kjørte koden, fant et unntak og unntaket blir fanget.

Hvordan fungerer koden når vi setter inn kastuttalelsen vår? La oss 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");
)
)

Bare den uthevede delen er endringen mellom de to kodene ovenfor.

Produksjon:

Ja, vi har fått en kompilasjonsfeil ettersom uttalelsen etter kast-nøkkelordet er en utilgjengelig uttalelse. Gjennom dette eksemplet håper vi at du forsto hva den betydde med "å overføre kontrollen fra prøve å fange blokkering".

Som en øvelse kan du prøve å fjerne utskriftsuttalelsen etter et nøkkelord, og sjekk hvordan programmet reagerer.

Konklusjon - kast nøkkelord i Java

Så dette er hvordan kastkommandoen har kommet inn i bildet på tidspunktet for unntakshåndtering. Og legg merke til at det er en god forskjell mellom THROW og THROWS søkeord. Begge brukes med begrepet unntak. Vi har allerede kjent konseptet, hvordan og hvor vi faktisk kan bruke "KAST" nøkkelordet. Bare øving og prøv å bruke det på forskjellige måter. Fortsett å lære.

Anbefalte artikler

Dette er en guide til å kaste nøkkelord i Java. Her diskuterer vi Introduksjon, Arbeid i Java og viktigheten av å kaste. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Beskyttet nøkkelord i Java
  2. For Loop i JavaScript
  3. Mens Loop i Java
  4. Fortsett uttalelse i Java
  5. Fortsett utsagnsarbeidet i C # med eksempler