Forskjellen mellom kaste vs kaster i Java

Et unntak er en hendelse som skjedde under utførelsen av et program i java, som i utgangspunktet hemmer den totale gjennomføringen av koden. Noen ganger håndterer systemet unntaket som standard, men i noen tilfeller må vi håndtere unntak basert på vår kode eller situasjoner eksplisitt. Unntak som leveres på tilpasset måte kan håndteres ved å bruke: prøve, fang, kast, kast og til slutt nøkkelord. Når vi ønsker å definere unntak i koden vår, vil vi bruke kast, mens når vi ønsker å definere flere unntak eksplisitt, vil vi bruke kast. I dette emnet vil vi diskutere sammenligninger mellom kast og kast

Hva er å kaste?

Når vi ønsker å håndtere noe unntak i koden vår som ikke er merket, vil vi bruke kast. Et kast kan brukes i koden vår for å håndtere unntak på en eksplisitt måte. Husk at vi bare kan håndtere en type unntak av gangen ved å bruke kast. Hvis du vil bruke til flere kast, må du bruke kast det mange ganger.

syntaks:

throw

Eksempel:

throw new ArithmeticException();

Disse unntakstilfellene må være underklasse kalt Throwable. Dette er fordi Throwable har sin underklasse kalt Unntak, og under unntaksklasse er alle brukerdefinerte unntaksklasser bosatt. Forsikre deg derfor om at du bruker unntaksforekomster som er underklasser under linjen med kast

La oss nå forstå flyten av programmet når vi bruker det til å kaste. Koden vil strømme gjennom til den når kastet, og etter dette vil den søke etter try-catch-blokken. Tryblokken blir undersøkt for å sjekke om det er noen påstander inne i fangstblokken som har nevnt unntak som ligner forekomsten. Hvis ja, flyttes kontrollen til det. Hvis ikke, vil den søke etter neste prøvefangstblokk, og dette fortsetter. Anta at den ikke finner noen slike try-catch-blokkeringer for å håndtere et unntak, da vil systemet håndtere unntak ved bruk av standard unntakshåndterer og kode vil bli avsluttet.

Hva er det som kaster?

Når vi antar at en metode kan vise noen unntak i koden vår basert på erfaring, nevner vi alle unntakene i metodesignaturen ved å bruke kast-nøkkelord. Alle unntakene vil bli nevnt atskilt med komma.

syntaks:

() throws,

Eksempel:

void ExceptionExample() throws ArithmeticException, NullPointerException
(
//code
)

Når du har fått en ide om hva kast og kast gjør, la oss ta en titt på forskjellene mellom kast og kast som nedenfor:

Sammenligning av hode til hode mellom Throw vs Throws (Infographics)

Nedenfor er de topp 5 forskjellene mellom Throw vs Throws i Java

Viktige forskjeller mellom Kast vs Kast

La oss se på de viktigste forskjellene mellom Throw vs Throws in java som nedenfor:

  • Når vi ønsker å definere et unntak i koden vår, bruker vi kast. Men når vi ønsker å definere unntak eksplisitt, vil vi bruke kast.
  • Hvis vi bruker kast, kan ikke kode flyte i tilfelle sjekket unntak. Når unntakene er sjekket, kan det flytes ved hjelp av kast
  • Syntaksmessig skriver vi en variabel for forekomsten etter kast. Mens vi skriver unntaksklasser atskilt med komma etter kast
  • Vi bruker kast under en metodedefinisjon. Mens vi erklærer kast unntak i signaturen til en metode.
  • Throw har en begrensning i å håndtere det eneste unntaket av gangen. På den annen side kan Throws takle flere unntak.

Kast vs kaster sammenligningstabell

La oss diskutere topp sammenligningen mellom Throw vs Throws i Java

Grunnlag for sammenligning mellom Throw vs Throws

Kaste

kaster

Hvordan eller når du skal brukeI de tilfellene, når vi trenger å gi et logisk unntak i koden, bruker vi, i de tilfellene, generelt sett et nøkkelord under en funksjon.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

I slike tilfeller, når uttalelsen om en funksjon kan resultere i et unntak, bruker vi, i de tilfellene, vanligvis kasterøkkelord med en funksjon for å håndtere disse unntakene.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

På grunnlag av unntakstellingenPå et enkelt tidspunkt kan kastet brukes til å kaste bare ett unntak. Når vi trenger å kaste et bestemt unntak, vil vi bruke kast.

For eksempel:

// throw only a particular exception
throw new NullPointerException ();

Kaster kan håndtere flere unntak. Når vi trenger å håndtere flere unntak, kan vi bruke kast, der navnet på unntakene blir nevnt med atskilt med komma. Når noe unntak skjer, vil det automatisk samsvare med de deklarerte unntakene med kast og håndtere deretter.

For eksempel:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

På syntaks perspektivVi bruker kast inn i en funksjon og for å håndtere en enkelt type unntak

For eksempel:

// throw only a particular exception
throw new NullPointerException ();

Vi vil bruke kast med en funksjon for å håndtere flere unntak på en gang ved å bruke navnet på disse unntaksklassene.

For eksempel:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

Sjekket / ukontrollert perspektivSjekkede unntak kan ikke håndteres ved kast. Den kan kun håndtere ukontrollerte unntak som ikke kan håndteres ved kast eller sjekket unntak.

For eksempel:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException (); //null pointer was not checked
, hence we used in throw
)

Når vi kjenner unntaket apriori og nevner de som kastes, vil de bli sjekket unntak.

For eksempel:

void ExceptionExample() throws ArithmeticException,
NullPointerException //explicit checked exceptions
(
//other code
)

KodeeksempelKaste:

public class ExceptionExample (
public static void main(String() args)
(
// Use of checked Exception by throw
try (
double num=1/0;
throw new ArithmeticException();
)
catch (ArithmeticException e)
(
e.printStackTrace();
)
)
)

kaster:

import java.io.IOException;
public class ExceptionExample (
public static void main(String() args)
throws ArithmeticException //here we use unchecked
exception by throws
(
double num=1/0;
System.out.println (num);
)
)

Konklusjon

Dette er forskjeller mellom kast og kast i Java. Kaster kan gi deg frihet til å bruke flere unntak på en gang, men kast kan ikke. Primært basert på denne skillet, må du bruke kast hvis du trenger å gi flere unntak på en gang, hvis du ikke er sikker, bare bruk kast for å sette unntak ett etter ett.

Anbefalte artikler

Dette er en guide til Throw vs Throws i Java. Her diskuterer vi kast og kast i java viktige forskjeller med infografikk og sammenligningstabell. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Java List vs Array List
  2. JavaScript vs VBScript
  3. PHP vs JavaScript
  4. C vs Java