Verschil tussen werpen versus werpen in Java

Een uitzondering is een gebeurtenis die plaatsvond tijdens de uitvoering van een programma in Java, wat in feite de algehele uitvoering van de code belemmert. Soms behandelt het systeem de uitzondering standaard, maar in sommige gevallen moeten we de uitzondering op basis van onze code of situaties expliciet verwerken. Uitzondering inleveren op maat mode kan worden afgehandeld met behulp van: proberen, vangen, gooien, gooit en uiteindelijk trefwoorden. Als we een uitzondering in onze code willen definiëren, gebruiken we throw, terwijl we, als we meerdere uitzonderingen expliciet willen definiëren, throw gebruiken. In dit onderwerp bespreken we vergelijkingen tussen worpen versus worpen

Wat is gooien?

Als we een uitzondering in onze code die niet is aangevinkt, willen verwerken, gebruiken we throw. Een worp kan in onze code worden gebruikt om uitzonderingen op een expliciete manier af te handelen. Vergeet niet dat we slechts één type uitzondering tegelijk kunnen hanteren met worpen. Als je meerdere worpen wilt gebruiken, moet je die worp zo vaak gebruiken.

Syntaxis:

throw

Voorbeeld:

throw new ArithmeticException();

Die uitzonderingsinstanties moeten een onderklasse hebben die Throwable wordt genoemd. Dit komt omdat Throwable de subklasse Exception heeft en onder de uitzonderingsklasse alle door de gebruiker gedefinieerde uitzonderingsklassen zich bevinden. Zorg er daarom voor dat u uitzonderingsinstanties gebruikt die subklassen zijn onder de regel van throwable

Laten we nu de stroom van het programma begrijpen als we het gebruiken om te gooien. De code zal doorlopen tot het de worp bereikt en daarna zal het zoeken naar het try-catch-blok. Het try-blok wordt onderzocht om te controleren of er een instructie in het catch-blok zit waarin een uitzondering wordt genoemd die vergelijkbaar is met het voorkomen. Zo ja, dan wordt de controle daarop verplaatst. Als dit niet het geval is, zal het naar het volgende try-catch-blok zoeken en dit gaat door. Stel dat het geen dergelijk try-catch-blok vindt om een ​​uitzondering af te handelen, dan zal het systeem de uitzondering afhandelen met de standaard handler of exception en wordt de code beëindigd.

Wat is worpen?

Wanneer we aannemen dat een methode op basis van ervaring enkele uitzonderingen in onze code kan weergeven, vermelden we alle uitzonderingen in de handtekening van de methode met het trefwoord throw. Alle uitzonderingen worden vermeld gescheiden door komma's.

Syntaxis:

() throws,

Voorbeeld:

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

Omdat je een idee hebt wat werpen en werpen doen, laten we de verschillen tussen werpen en worpen als volgt bekijken:

Head to Head-vergelijking tussen worpen versus worpen (infographics)

Hieronder staan ​​de top 5 verschillen tussen Gooien versus Gooien in Java

Belangrijkste verschillen tussen worpen versus worpen

Laten we de belangrijkste verschillen tussen Gooien versus Gooien in Java bekijken zoals hieronder:

  • Als we een uitzondering in onze code willen definiëren, gebruiken we throw. Maar als we uitzonderingen expliciet willen definiëren, gebruiken we worpen.
  • Als we throw gebruiken, kan de code niet vloeien in het geval van aangevinkte uitzonderingen. Wanneer de uitzonderingen zijn aangevinkt, kan dit worden uitgevoerd met behulp van worpen
  • In syntaxis schrijven we een variabele voor de instantie na worp. Terwijl we uitzonderingsklassen schrijven, gescheiden door komma's na worpen
  • We gebruiken throw onder een methodedefinitie. Terwijl we verklaren gooit uitzondering in de handtekening van een methode.
  • Gooi heeft een beperking in het hanteren van de enige uitzondering tegelijk. Aan de andere kant kan Throws meerdere uitzonderingen verwerken.

Throw vs Throws Vergelijkingstabel

Laten we de topvergelijking tussen Throw vs Throws in Java bespreken

Vergelijkingsbasis tussen worpen versus worpen

Gooi

Werpt

Hoe of wanneer te gebruikenIn die gevallen, wanneer we logische uitzonderingen in de code moeten opgeven, gebruiken we in die gevallen meestal het sleutelwoord throw onder een functie.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

In die gevallen, wanneer de instructie van een functie kan resulteren in een uitzondering, gebruiken we in die gevallen in het algemeen gooi-sleutelwoord met een functie om die uitzonderingen af ​​te handelen.

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

Op basis van uitzondering tellenOp een bepaald moment kan de worp worden gebruikt om slechts één uitzondering te gooien. Als we een bepaalde uitzondering moeten gooien, gebruiken we gooien.

Bijvoorbeeld:

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

Gooien kunnen omgaan met meerdere uitzonderingen. Wanneer we meerdere uitzonderingen moeten verwerken, kunnen we worpen gebruiken, waarbij de naam van de uitzonderingen wordt vermeld met gescheiden door een komma. Wanneer een uitzondering zich voordoet, zal deze automatisch overeenkomen met de aangegeven uitzonderingen met worpen en dienovereenkomstig verwerken.

Bijvoorbeeld:

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

Over het perspectief van syntaxisWe gebruiken een inworp in een functie en voor een enkel type uitzondering

Bijvoorbeeld:

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

We gebruiken throw met een functie om meerdere uitzonderingen in één keer af te handelen met behulp van de naam van die uitzonderingsklassen.

Bijvoorbeeld:

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

Gecontroleerd / niet-gecontroleerd perspectiefGecontroleerde uitzonderingen kunnen niet met worpen worden verwerkt. Het kan alleen niet-aangevinkte uitzonderingen verwerken die niet door worpen of aangevinkte uitzonderingen kunnen worden verwerkt.

Bijvoorbeeld:

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

Wanneer we de uitzondering apriori kennen en die in worpen vermelden, worden dat gecontroleerde uitzonderingen.

Bijvoorbeeld:

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

CodevoorbeeldGooi:

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

Werpt:

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

Conclusie

Dit zijn verschillen tussen worpen en worpen in Java. Gooien kan je de vrijheid geven om meerdere uitzonderingen tegelijk te gebruiken, maar gooien kan dat niet. In de eerste plaats op basis van dit onderscheid, moet je worpen gebruiken als je meerdere uitzonderingen tegelijk moet opgeven als je niet zeker bent, gebruik dan gewoon worp om uitzonderingen één voor één te plaatsen.

Aanbevolen artikelen

Dit is een gids voor Throw vs Throws in Java. Hier bespreken we de worp versus worpen in de belangrijkste verschillen in Java met infographics en vergelijkingstabel. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Java-lijst versus matrixlijst
  2. JavaScript versus VBScript
  3. PHP versus JavaScript
  4. C tegen Java