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

Différence entre lancer et lancer

'Lancer' et 'lancer' semblerait similaire dans la vie générale n'ayant qu'une différence de temps. Cependant, dans le langage de programmation Java, ces deux éléments sont très différents l'un de l'autre et sont utilisés pour effectuer diverses tâches. Throw et Throws sont des mots clés en Java utilisés dans la gestion des exceptions.

Utilisation de Throw et Throws en Java

Le mot clé 'Throw' est utilisé pour donner une instance d'exception que le programmeur a créée manuellement à JVM tandis que le mot clé 'throws' est utilisé pour donner les responsabilités de la gestion des exceptions, survenues dans la méthode à la méthode appelante.

Au niveau de la syntaxe :l'instance de lancement de l'exception est définie dans le bloc/la classe d'exception. Dans Throws, le mot-clé throw est suivi de la classe d'exception

Lancer vs Lancer en Java

LANCE

A lance pour déclarer une ou plusieurs exceptions, séparées par des virgules.

Plusieurs peuvent être lancés à l'aide de lancers

La méthode de signature est utilisée avec les lancements de mots-clés

Pour lever une exception, un mot-clé suivi du nom de la classe et de l'exception vérifiée peut être propagé.

Le mot clé throws est suivi de la classe d'exception

LANCER

Un throw est utilisé pour lever une exception explicitement

Peut lever une seule exception en utilisant throw

Ce mot clé est utilisé dans la méthode

Seules les exceptions non vérifiées se sont propagées à l'aide du mot-clé throw.

Le mot clé throw est suivi de la variable d'instance

Qu'est-ce que Lancer en Java

Lancer un mot-clé en Java est utilisé pour lancer une exception explicitement et logiquement définie par le programmeur lors du passage du contrôle du programme d'un bloc à un autre en supposant que l'exception d'erreurs est définie et gérée en conséquence.

Syntaxe de lancer

syntax  of throw :-  throw <instance>;

Exemple de lancement en Java

void mtod (){
throw new mathsexception(“we are sorry there is no solution”);
}

Program :
public class ThrowExample{ 

   void Votingage(int age){ 
                   if(age<18) 
                      throw new ArithmeticException("you can't vote as not Eligible to  vote"); 
                   else 
                      System.out.println("Eligible for voting"); 
   } 
   public static void main(String args[]){ 
                   ThrowExample obj = new ThrowExample();
                   obj.Votingage(13); 
                   System.out.println("End Of Program"); 
   } 
}

SORTIE

$java -Xmx128M -Xms16M LancerExemple
Exception dans le thread "main" java.lang.ArithmeticException :vous ne pouvez pas voter comme non éligible pour voter à ThrowExample.Votingage(ThrowExample.java:5) à ThrowExample.main(ThrowExample.java:11)

Qu'est-ce que les lancers en Java ?

Lances : est utilisé pour déclarer et appeler un bloc d'exception, ce qui signifie que son fonctionnement est similaire au bloc try-catch.

Exemple de lancers en Java

public class ThrowsExample{ 
   int divion(int a, int b) throws ArithmeticException{ 
                int intet = a/b;
                return intet;
   } 
   public static void main(String args[]){ 
                ThrowsExample obj = new ThrowsExample();
                try{
                   System.out.println(obj.divion(15,0)); 
                }
                catch(ArithmeticException e){
                   System.out.println("Division cannot be done using ZERO");
                }

   } 

}

Sortie

$java -Xmx128M -Xms16M lanceExemple
La division ne peut pas être faite avec ZERO

Différence clé entre Throws et Throw en Java

✓ La différence fondamentale entre ces deux termes est que le mot-clé « throws » utilise le nom des classes d'exception où le mot-clé « throw » utilise l'objet d'exception.

✓Le 'lancer' Le mot-clé ne peut en lancer qu'une, c'est-à-dire une seule instance d'exception. D'un autre côté, le mot-clé throws peut lever plusieurs classes d'exception et les séparer par une virgule.

✓Le 'lancer' Le mot-clé est utilisé pour lever simplement une exception où le mot-clé 'throws' est utilisé pour la déclaration d'exception, qui indique l'exception qui est levée par la méthode.

✓Le 'lancer' Le mot-clé peut être utilisé à l'intérieur de la méthode ou de l'initialiseur de bloc statique. Les "throws", en revanche, ne pouvaient être utilisés que dans la déclaration de méthode.

✓Le mot clé 'throw' est incapable de propager l'exception non vérifiée à la méthode appelante où le mot clé 'throws' est utilisé pour propager l'exception à la méthode appelante. Cependant, une exception non contrôlée pourrait être propagée en utilisant le mot clé throw.

✓Une autre base de la différence entre les deux est la syntaxe. La syntaxe de 'throw' est suivie d'une variable d'instance mais la syntaxe de 'throws' est suivie des noms de classe d'exception.

✓'Lancer' le mot-clé est utilisé dans la méthode où le mot-clé ‘throws’ est utilisé avec la signature de la méthode.


No
Balise Java