Différence entre Throw vs Throws en Java

Une exception est un événement qui se produit lors de l'exécution d'un programme en java qui gêne fondamentalement l'exécution globale du code. Parfois, le système gère l'exception par défaut, mais dans certains cas, nous devons gérer l'exception en fonction de notre code ou de nos situations de manière explicite. La gestion des exceptions de manière personnalisée peut être gérée en utilisant: essayer, attraper, lancer, lancer et enfin des mots clés. Lorsque nous voulons définir une exception dans notre code, nous utiliserons throw, tandis que lorsque nous voulons définir plusieurs exceptions explicitement, nous utiliserons throws. Dans cette rubrique, nous discuterons des comparaisons entre lancer et lancers

Qu'est-ce que Throw?

Lorsque nous voulons gérer toute exception dans notre code qui n'est pas cochée, nous utiliserons throw. Un lancer peut être utilisé dans notre code pour gérer les exceptions de manière explicite. N'oubliez pas que nous ne pouvons gérer qu'un seul type d'exception à la fois en utilisant throw. Si vous souhaitez utiliser pour plusieurs en utilisant throw, vous devez utiliser throw autant de fois.

Syntaxe:

throw

Exemple:

throw new ArithmeticException();

Ces instances d'exception doivent être de sous-classe appelée Throwable. En effet, Throwable a sa sous-classe appelée Exception, et sous la classe d'exception, toutes les classes d'exception définies par l'utilisateur résident. Par conséquent, assurez-vous que vous utilisez des instances d'exception qui sont des sous-classes sous la ligne de throwable

Maintenant, comprenons le déroulement du programme lorsque nous l'utilisons pour lancer. Le code passera jusqu'à ce qu'il atteigne le lancer et après cela, il recherchera le bloc try-catch. Le bloc try est examiné pour vérifier s'il existe une instruction à l'intérieur du bloc catch qui a mentionné une exception similaire à l'occurrence. Si oui, le contrôle est déplacé vers cela. Sinon, il recherchera le prochain bloc try-catch et cela continue. Supposons qu'il ne trouve aucun bloc try-catch pour gérer une exception, le système gérera l'exception en utilisant le gestionnaire d'exception par défaut et le code sera terminé.

Qu'est-ce que les lancers?

Lorsque nous supposons qu'une méthode peut afficher certaines exceptions dans notre code en fonction de l'expérience, nous mentionnons toutes les exceptions dans la signature de la méthode en utilisant le mot clé throws. Toutes les exceptions seront mentionnées séparées par des virgules.

Syntaxe:

() throws,

Exemple:

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

Comme vous avez une idée de ce que font les lancers et les lancers, examinons ci-dessous les différences entre les lancers et les lancers:

Comparaison face à face entre lancer et lancers (infographie)

Voici les 5 principales différences entre Throw vs Throws en Java

Différences clés entre Throw vs Throws

Examinons les principales différences entre Throw vs Throws en java comme ci-dessous:

  • Lorsque nous voulons définir une exception dans notre code, nous utiliserons throw. Mais, lorsque nous voulons définir explicitement des exceptions, nous utiliserons des lancers.
  • Si nous utilisons throw, le code ne peut pas circuler en cas d'exceptions vérifiées. Lorsque les exceptions sont vérifiées, elles peuvent être transmises à l'aide de lancers
  • En termes de syntaxe, nous écrivons une variable pour l'instance après throw. Alors que nous écrivons des classes d'exceptions séparées par des virgules après les lancers
  • Nous utilisons throw sous une définition de méthode. Considérant que, nous déclarons jette exception dans la signature d'une méthode.
  • Throw a une limitation de gestion de la seule exception à la fois. D'un autre côté, Throws peut gérer plusieurs exceptions.

Tableau de comparaison Throw vs Throws

Discutons de la meilleure comparaison entre Throw vs Throws en Java

Base de comparaison entre Throw vs Throws

Jeter

Jette

Comment ou quand utiliserDans ces cas, lorsque nous devons fournir une exception logique à l'intérieur du code, nous utilisons généralement le mot clé throw sous une fonction.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

Dans ces cas, lorsque l'énoncé d'une fonction peut entraîner une exception, dans ces cas, nous utilisons généralement le mot clé throws avec une fonction pour gérer ces exceptions.

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

Sur la base du nombre d'exceptionsÀ un moment donné, le lancer ne peut être utilisé que pour lancer une seule exception. Lorsque nous devons lever une exception particulière, nous utiliserons throw.

Par exemple:

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

Les lancers peuvent gérer plusieurs exceptions. Lorsque nous devons gérer plusieurs exceptions, nous pouvons utiliser des lancers, où le nom des exceptions est mentionné avec séparé par une virgule. Lorsqu'une exception se produit, elle correspond automatiquement aux exceptions déclarées avec des lancers et se gère en conséquence.

Par exemple:

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

Du point de vue de la syntaxeNous utilisons throw à l'intérieur d'une fonction et pour gérer un seul type d'exception

Par exemple:

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

Nous utiliserons throw avec une fonction pour gérer plusieurs exceptions à la fois en utilisant le nom de ces classes d'exceptions.

Par exemple:

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

Perspective cochée / non cochéeLes exceptions vérifiées ne peuvent pas être gérées par throw. Il ne peut gérer que les exceptions non contrôlées qui ne peuvent pas être gérées par des lancers ou des exceptions vérifiées.

Par exemple:

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

Lorsque nous connaissons l'exception apriori et mentionnons ceux qui sont lancés, ceux-ci deviendront des exceptions vérifiées.

Par exemple:

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

Exemple de codeJeter:

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

Jette:

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

Conclusion

Ce sont des différences entre lancer et lancer en Java. Les lancers peuvent vous donner la liberté d'utiliser plusieurs exceptions à la fois, mais ce n'est pas le cas. Sur la base principalement de cette distinction, vous devez utiliser les lancers si vous devez fournir plusieurs exceptions à la fois si vous n'êtes pas sûr, puis utilisez simplement throw pour mettre les exceptions une par une.

Articles recommandés

Ceci est un guide de Throw vs Throws en Java. Ici, nous discutons des différences entre les lancers et les lancers en Java avec des infographies et un tableau de comparaison. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Liste Java vs liste de tableaux
  2. JavaScript vs VBScript
  3. PHP vs JavaScript
  4. C vs Java