Différence entre try-catch et throw en java


Quelle est la différence entre la clause try-catch et throw. Quand utiliser ces?

Veuillez me le faire savoir .

 44
Author: user393043, 2010-09-25

6 answers

  • Le bloc try exécutera un code sensible qui peut lever des exceptions
  • Le catch bloc sera utilisée chaque fois qu'une exception (du type pris) est levée dans le bloc try
  • Le bloc finallyest appelé dans chaque cas après les blocs try/catch. Même si l'exception n'est pas interceptée ou si vos blocs précédents interrompent le flux d'exécution.
  • Le mot-clé throw vous permettra de lancer une exception (qui cassera le flux d'exécution et peut être pris dans un catch bloc).
  • Le mot-clé throws dans le prototype de méthode est utilisé pour spécifier que votre méthode peut lever des exceptions du type spécifié. C'est utile lorsque vous avez vérifié l'exception (exception que vous devez gérer) que vous ne voulez pas attraper dans votre méthode actuelle.

Ressources :


Sur une autre note, vous devriez vraiment accepter quelques réponses. Si quelqu'un rencontre le mêmes problèmes que vous et trouver vos questions, il / elle sera heureux de voir directement la bonne réponse à la question.

 69
Author: Colin Hebert, 2010-09-25 18:32:51

Si vous exécutez l'exemple suivant, vous connaîtrez la différence entre un Lancer et un bloc Catch.

En termes généraux:

Le bloc catch gère l'exception

Jette va passer l'erreur à son appelant.

Dans l'exemple suivant, l'erreur se produit dans le throwsMethod(), mais elle est traitée dans le catchMethod().

public class CatchThrow {

private static void throwsMethod() throws NumberFormatException {
    String  intNumber = "5A";

    Integer.parseInt(intNumber);
}

private static void catchMethod() {
    try {

        throwsMethod();

    } catch (NumberFormatException e) {
        System.out.println("Convertion Error");
    }

}

public static void main(String[] args) {
    // TODO Auto-generated method stub

    catchMethod();
}

}
 26
Author: user1864519, 2012-12-06 02:53:48

Try/catch et throw clause sont à des fins différentes. Ils ne sont donc pas alternatifs les uns aux autres mais ils sont complémentaires.

  1. Si vous avez jeté une exception vérifiée dans votre code, il devrait être à l'intérieur de certains try/catch dans les codes appelant la hiérarchie.

  2. Inversement, vous n'avez besoin du bloc try/catch que s'il y a une clause throw dans le code (votre code ou l'appel API) qui lève l'exception vérifiée.

Parfois, vous voudrez peut-être jeter exception si une condition particulière s'est produite que vous souhaitez gérer dans le bloc de code appelant et, dans certains cas, gérer un bloc de capture d'exception et lancer à nouveau une exception identique ou différente à gérer dans le bloc appelant.

 5
Author: Mahesh, 2010-09-25 18:38:40

Tous ces mots clés try, catch et throw sont liés au concept de gestion des exceptions en java. Une exception est un événement qui se produit pendant l'exécution de programmes. Exception perturbe le flux normal d'une application. La gestion des exceptions est un mécanisme utilisé pour gérer l'exception afin que le flux normal d'application puisse être maintenu. Le bloc Try-catch est utilisé pour gérer l'exception. Dans un bloc try, nous écrivons le code qui peut lancer une exception et dans le bloc catch, nous écrivons du code pour gérer cette exception. Le mot clé Throw est utilisé pour lancer explicitement une exception. Généralement, le mot clé throw est utilisé pour lancer des exceptions définies par l'utilisateur.

Pour plus de détails, visitez Tutoriel Java pour débutants.

 3
Author: Ellen gomez, 2017-07-31 12:19:47

D'autres ont déjà donné des réponses approfondies, mais si vous cherchez encore plus d'informations, les didacticiels Oracle Java sont toujours une bonne ressource. Voici le tutoriel Java pour les exceptions, qui couvre toutes vos questions en détail; https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html

 1
Author: BNeumann, 2017-08-01 15:03:52

Essayer-Ajouter du code sensible catch-pour gérer l'exception enfin - toujours exécuté que l'exception soit attrapée ou non. Associé avec try-catch. Utilisé pour fermer la ressource que nous avons ouverte dans try block throw - Pour transférer manuellement notre exception créée à la JVM. Utilisé pour lancer une exception personnalisée jette - Pour déléguer la responsabilité de la gestion des exceptions à la méthode de l'appelant ou à la méthode principale.

 -1
Author: Ajinkya Khedkar, 2017-02-15 09:07:23