logo

lancer et lancer en Java

En Java, gestion des exceptions est l'un des moyens efficaces pour gérer les erreurs d'exécution afin que le flux régulier de l'application puisse être préservé. Java Exception Handling est un mécanisme permettant de gérer les erreurs d'exécution telles que ClassNotFoundException, IOException, SQLException, RemoteException, etc.

Dans cet article, nous découvrirons throw et throws en Java qui peuvent gérer les exceptions en Java.



Lancement Java

Le mot-clé throw en Java est utilisé pour lever explicitement une exception à partir d'une méthode ou de n'importe quel bloc de code. Nous pouvons lancer soit exception cochée ou non cochée . Le mot-clé throw est principalement utilisé pour lancer des exceptions personnalisées.

Syntaxe en Java

 throw   Instance  Example: throw new ArithmeticException('/ by zero');>

Mais cette exception, c'est-à-dire Exemple doit être du type Jetable ou une sous-classe de Jetable .

Par exemple , une Exception est une sous-classe de Throwable et les exceptions définies par l'utilisateur étendent généralement la classe Exception. Contrairement au C++, les types de données tels que int, char, floats ou classes non jetables ne peuvent pas être utilisés comme exceptions.



Le flux d'exécution du programme s'arrête immédiatement après l'exécution de l'instruction throw et l'encadrant le plus proche essayer le bloc est vérifié pour voir s'il a un attraper instruction qui correspond au type d’exception. S'il trouve une correspondance, le contrôle est transféré à cette instruction, sinon l'inclusion suivante essayer le bloc est vérifié, et ainsi de suite. Si aucune correspondance attraper est trouvé, le gestionnaire d'exceptions par défaut arrêtera le programme.

Exemples de lancement Java

Exemple 1:

Java






// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> fun()> >{> >try> {> >throw> new> NullPointerException(>'demo'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside fun().'>);> >throw> e;>// rethrowing the exception> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught in main.'>);> >}> >}> }>

>

>

Sortir

Caught inside fun(). Caught in main.>

Exemple 2

Java




// Java program that demonstrates> // the use of throw> class> Test {> >public> static> void> main(String[] args)> >{> >System.out.println(>1> />0>);> >}> }>

>

>

Sortir

Exception in thread 'main' java.lang.ArithmeticException: / by zero>

Java lance

throws est un mot-clé en Java utilisé dans la signature d'une méthode pour indiquer que cette méthode peut lever l'une des exceptions de type répertoriées. L'appelant de ces méthodes doit gérer l'exception à l'aide d'un bloc try-catch.

Syntaxe des lancers Java

 type method_name(parameters) throws exception_list exception_list is a comma separated list of all the exceptions which a method might throw.>

Dans un programme, s'il y a une chance de déclencher une exception, le compilateur nous en avertit toujours et nous devons obligatoirement gérer cette exception vérifiée. Sinon, nous obtiendrons une erreur de compilation indiquant l'exception XXX non signalée doit être interceptée ou déclarée pour être lancée . Pour éviter cette erreur de compilation, nous pouvons gérer l'exception de deux manières :

  1. En utilisant try catch
  2. En utilisant le jette mot-clé

Nous pouvons utiliser le mot-clé throws pour déléguer la responsabilité de la gestion des exceptions à l'appelant (il peut s'agir d'une méthode ou d'une JVM), la méthode de l'appelant est alors responsable de gérer cette exception.

combien de villes y a-t-il en nous

Java lance des exemples

Exemple 1

Java




// Java program to illustrate error in case> // of unhandled exception> class> tst {> >public> static> void> main(String[] args)> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

>

Sortir

error: unreported exception InterruptedException; must be caught or declared to be thrown>

Explication

Dans le programme ci-dessus, nous obtenons une erreur de compilation car il y a une chance d'exception si le thread principal va se mettre en veille, d'autres threads ont la chance d'exécuter la méthode main() qui provoquera InterruptedException.

Exemple 2

Java




// Java program to illustrate throws> class> tst {> >public> static> void> main(String[] args)> >throws> InterruptedException> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

mission impossible tous les films

>

Sortir

Hello Geeks>

Explication

Dans le programme ci-dessus, en utilisant le mot-clé throws, nous avons géré l'InterruptedException et nous obtiendrons le résultat sous la forme Bonjour les Geeks

Exemple 3

Java




// Java program to demonstrate working of throws> class> ThrowsExecp {> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println(>'Inside fun(). '>);> >throw> new> IllegalAccessException(>'demo'>);> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println(>'caught in main.'>);> >}> >}> }>

>

>

Sortir

Inside fun(). caught in main.>

Points importants à retenir concernant les lancers

  • Le mot-clé throws n'est requis que pour les exceptions vérifiées et l'utilisation du mot-clé throws pour les exceptions non vérifiées n'a aucun sens.
  • Le mot-clé throws n'est requis que pour convaincre le compilateur et son utilisation n'empêche pas la fin anormale du programme.
  • À l'aide du mot-clé throws, nous pouvons fournir des informations à l'appelant de la méthode sur l'exception.