Skillnaden mellan kasta vs kastar i Java

Ett undantag är en händelse som inträffade under exekveringen av ett program i java som i princip hindrar den totala exekveringen av koden. Ibland hanterar systemet undantag som standard, men i vissa fall måste vi hantera undantag baserat på våra kod eller situationer uttryckligen. Undantag som skickas på anpassat sätt kan hanteras med hjälp av: prova, fånga, kasta, kast och slutligen nyckelord. När vi vill definiera undantag i vår kod kommer vi att använda kast, medan när vi vill definiera flera undantag uttryckligen kommer vi att använda kast. I det här ämnet kommer vi att diskutera jämförelser mellan kast och kast

Vad är kasta?

När vi vill hantera något undantag i vår kod som inte är markerad, kommer vi att använda kast. Ett kast kan användas i vår kod för att hantera undantag på ett uttryckligt sätt. Kom ihåg att vi bara kan hantera en typ av undantag i taget med kast. Om du vill använda för flera med kast, måste du använda kast så många gånger.

Syntax:

throw

Exempel:

throw new ArithmeticException();

Dessa undantagstillfällen måste vara underklass som kallas Throwable. Detta beror på att Throwable har sin underklass som heter undantag och under undantagsklassen finns alla användardefinierade undantagsklasser. Se därför till att du använder undantagstillfällen som är underklasser under linjen med kasta

Låt oss nu förstå flödet i programmet när vi använder det för att kasta. Koden kommer att rinna igenom tills den når kastet och efter det kommer den att söka efter try-catch-blocket. Försöksblocket undersöks för att kontrollera om det finns något uttalande i fångstblocket som har nämnt undantag som liknar förekomsten. Om ja, flyttas kontrollen till det. Om inte, kommer den att söka efter nästa try-catch-block och detta fortsätter. Anta att det inte finns något sådant try-catch-block för att hantera ett undantag, då kommer systemet att hantera undantag med hjälp av standardhanteraren av undantag och kod kommer att avslutas.

Vad är det som kastar?

När vi antar att en metod kan visa några undantag i vår kod baserat på erfarenhet, nämner vi alla undantag i metodsignaturen med hjälp av nyckelord. Alla undantag kommer att nämnas separerade med komma-tecken.

Syntax:

() throws,

Exempel:

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

När du har fått en uppfattning om vad kast och kast gör, låt oss ta en titt på skillnaderna mellan kast och kast som nedan:

Jämförelse mellan huvudet och huvudet mot kastar (Infographics)

Nedan visas de 5 bästa skillnaderna mellan Throw vs Throws i Java

Viktiga skillnader mellan kasta vs kastar

Låt oss titta på de viktigaste skillnaderna mellan Throw vs Throws in java som nedan:

  • När vi vill definiera ett undantag i vår kod kommer vi att använda kast. Men när vi vill definiera undantag uttryckligen kommer vi att använda kast.
  • Om vi ​​använder kast, kan koden inte flyta vid kontrollerade undantag. När undantagen är kontrollerade kan det flyts med kast
  • Syntaxmässigt skriver vi en variabel för instansen efter kast. Medan vi skriver undantagsklasser separerade med komma efter kast
  • Vi använder kasta under en metoddefinition. Medan vi förklarar kast undantag i underskrift av en metod.
  • Throw har en begränsning av att hantera det enda undantaget åt gången. Å andra sidan kan Throws hantera flera undantag.

Kasta jämför med kastar jämförelsetabellen

Låt oss diskutera den bästa jämförelsen mellan Throw vs Throws i Java

Grund för jämförelse mellan kast mot kast

Kasta

Utlöser

Hur eller när du ska användaI sådana fall, när vi måste tillhandahålla logiskt undantag inuti koden, använder vi i dessa fall i allmänhet kastnyckelord under en funktion.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

I sådana fall, när uttalandet om en funktion kan resultera i ett undantag, använder vi i dessa fall i allmänhet kast-nyckelord med en funktion för att hantera dessa undantag.

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

På grundval av antalet undantagVid en enda tidpunkt kan kastet användas för att bara kasta ett undantag. När vi behöver kasta ett särskilt undantag, kommer vi att använda kast.

Till exempel:

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

Kaster kan hantera flera undantag. När vi behöver hantera flera undantag, kan vi använda kast, där namnet på undantagen nämns med separerade av komma. När något undantag inträffar kommer det automatiskt att matcha med de deklarerade undantagen med kast och hantera därefter.

Till exempel:

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

Om syntaxens perspektivVi använder kasta in en funktion och för att hantera en enda typ av undantag

Till exempel:

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

Vi kommer att använda kast med en funktion för att hantera flera undantag på en gång genom att använda namnet på dessa undantagsklasser.

Till exempel:

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

Kontrollerat / avmarkerat perspektivKontrollerade undantag kan inte hanteras med kast. Den kan endast hantera underkontrollerade undantag som inte kan hanteras med kast eller kontrollerade undantag.

Till exempel:

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

När vi känner till undantaget apriori och nämner de som kastas kommer de att bli kontrollerade undantag.

Till exempel:

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

KodsexempelKasta:

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

kast:

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

Slutsats

Detta är skillnader mellan kast och kast i Java. Kast kan ge dig frihet att använda flera undantag på en gång, men kast kan inte. Baserat på denna åtskillnad måste du använda kast om du behöver tillhandahålla flera undantag på en gång om du inte är säker. Använd bara kast för att sätta undantag en efter en.

Rekommenderade artiklar

Detta är en guide till Throw vs Throws i Java. Här diskuterar vi kast och kast i java viktiga skillnader med infografik och jämförelse tabell. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

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

Kategori: