Java - Différence entre lancer et lancer
1) ajouter java
- throw est un mot clé introduit en Java pour la gestion des exceptions.
- Parfois, nous pouvons créer un objet d'exception explicitement et nous pouvons le transférer manuellement à la jvm pour ceux-ci, nous devons utiliser le mot-clé throw.
- Le but du mot-clé throw est de transmettre manuellement nos objets d'exception créés à la jvm.
Exemple 1 : Avec l'aide du mot-clé throw
class ThrowExample { public static void main(String[] args){ System.out.println(10/0); throw new ArithmeticException("/ by zero"); } }
Sortie
D:\Java Articles>java ThrowExample Exception in thread "main" java.lang.ArithmeticException: / by zero at ThrowExample.main(ThrowExample.java:6)
Exemple 2 : Sans l'aide du mot-clé throw
class ThrowExample { public static void main(String[] args){ System.out.println(10/0); } }
Sortie
D:\Java Articles>java WithoutThrow Exception in thread "main" java.lang.ArithmeticException: / by zero at WithoutThrow.main(WithoutThrow.java:6)
- Dans l'exemple 1, le développeur est chargé de créer explicitement l'objet d'exception et de le transmettre manuellement à la jvm (c'est-à-dire qu'ici la méthode principale n'est pas responsable de la création de l'objet et de la transmission à la jvm en interne). Nous obtiendrons le même résultat dans les deux sens et les méthodologies sont différentes.
- Dans l'exemple 2, la méthode main() est responsable de la création explicite de l'objet d'exception et de la transmission de l'objet à la jvm en interne (c'est-à-dire qu'ici, le programmeur n'est pas responsable de la création manuelle de l'objet et de la transmission à la jvm). Nous obtiendrons le même résultat dans les deux sens et la méthodologie est différente.
- throw mot clé est utilisé pour lever une exception à partir de n'importe quelle méthode ou bloc statique en Java.
- La meilleure utilisation du mot-clé throw est pour les exceptions définies ou personnalisées par l'utilisateur.
- le mot-clé throw ne s'applique qu'aux objets jetables.
2) jette en java
- throws est un mot-clé introduit en Java pour la gestion des exceptions.
- Dans notre programme, s'il existe une possibilité de lever une exception vérifiée, nous devons obligatoirement gérer l'exception vérifiée, sinon nous obtiendrons une erreur de temps de compilation (c'est-à-dire une exception non signalée xxx (nom de l'exception à la place xxx) doit être interceptée ou déclarée à être jeté).
Exemple 1 :
import java.io.*; class ThrowsExample{ public static void main(String[] args){ PrintWriter pw = new PrintWriter("java.txt"); pw.println("welcome in java world"); } }
Sortie
D:\Java Articles>javac ThrowsExample.java ThrowsExample.java:6: error: unreported exception FileNotFoundException; must be caught or declared to be thrown PrintWriter pw = new PrintWriter("java.txt"); ^ 1 error
Nous pouvons utiliser le mot-clé throws pour déléguer la responsabilité à la méthode de l'appelant (c'est-à-dire qu'il peut s'agir d'une autre méthode ou de jvm), la méthode de l'appelant est alors chargée de gérer cette exception.
Exemple 2 :
class ThrowsExample2 { public static void main(String[] args) throws InterruptedException{ Thread.sleep(1000); } }
- Le mot clé throws s'applique uniquement aux exceptions vérifiées, sinon nous obtiendrons une erreur de compilation (c'est-à-dire une exception non signalée).
- L'utilisation du mot-clé throws pour l'exception non contrôlée n'a pas de sens, vous pouvez l'utiliser si vous le souhaitez, mais nous n'obtiendrons aucune erreur de compilation (aucun impact sur l'exception non contrôlée).
- throws keyword n'empêche pas l'arrêt anormal du programme.