Java >> Tutoriel Java >  >> Tag >> throw

Java - Différence entre lancer et lancer

1) ajouter java

  1. throw est un mot clé introduit en Java pour la gestion des exceptions.
  2. 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.
  3. 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

  1. throws est un mot-clé introduit en Java pour la gestion des exceptions.
  2. 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.

Balise Java