Quelle est la dernière console de sortie ?

1. Vue d’ensemble

Dans ce tutoriel, nous allons jeter un coup d’oeil à ce que System.exit signifie en Java.

Nous verrons ses fins, où l’utiliser et comment l’utiliser. Nous verrons également quelle est la différence en l’invoquant avec différents codes d’état.

A lire également : Arrêt Mercier 1936 : impact en droit et analyse de la Cour de cassation

2. Qu’est-ce que System.exit ?

System.exit est une méthode void. Il prend un code de sortie, qu’il transmet au script ou au programme appelant.

Sortie avec un code de zéro signifie une sortie normale :

A lire en complément : Cameron Hallyday : qui est-il ?

Nous pouvons passer n’importe quel entier comme argument à la méthode. Un code d’état non nul est considéré comme une sortie anormale. System.exit (0) ;

L’appel de la méthode System.Exit met fin à la JVM en cours d’exécution et quitte le programme. Cette méthode ne retourne pas normalement.

Cela signifie que le code suivant après le System.Exit est effectivement inaccessible et pourtant, le compilateur ne sait pas ça.

Ce n’est pas une bonne idée d’arrêter un programme avec System.exit (0) . Il nous donne le même résultat de sortie de la méthode principale et empêche également les lignes suivantes de s’exécuter, également le thread appelant System.exit bloque jusqu’à ce que la JVM se termine. Si un crochet d’arrêt soumet une tâche à ce thread, cela conduit à un blocage. System.exit (0) ; System.out.println (« Cette ligne est inaccessible ») ;

3. Pourquoi en avons-nous besoin ?

Le cas d’utilisation typique de System.Exit est quand il y a une condition anormale et nous devons quitter le programme immédiatement.

En outre, si nous devons mettre fin au programme à partir d’un endroit autre que la méthode principale, System.Exit est une façon de l’atteindre.

4. Quand en avons-nous besoin ?

Il est courant qu’un script s’appuie sur les codes de sortie des commandes qu’il appelle. Si une telle commande est une application Java, System.Exit est pratique pour envoi de ce code de sortie.

Par exemple, au lieu de lancer une exception, nous pouvons renvoyer un code de sortie anormal qui peut ensuite être interprété par le script appelant.

Ou, nous pouvons utiliser System.exit pour appeler tous les crochets d’arrêt que nous avons enregistrés. Ces crochets peuvent être configurés pour nettoyer les ressources détenues et sortir en toute sécurité d’autres threads non-démon.

5. Un exemple simple

Dans cet exemple, nous essayons de lire un fichier et s’il existe, nous imprimons une ligne à partir de celui-ci. Si le fichier n’existe pas, nous quittons le programme avec System.Exit du bloc catch.

essayez { BufferedReader br = nouveau BufferedReader (nouveau FileReader ( » file.txt « )) ; System.out.println (br.readLine ()) ; br.close () ; } capture (IOException e) { System.exit (2) ; } enfin { System.out.println (« Sortie du programme ») ; } Ici, il faut noter que le bloc finally ne sera pas exécuté si le fichier n’est pas trouvé. Parce que le System.Exit sur les blocs catch quitte la JVM et ne permet pas au bloc final de s’exécuter.

6. Choix d’un code d’état

Nous pouvons passer n’importe quel entier comme code d’état mais, la pratique générale est qu’un System.exit avec le code d’état 0 est normal et d’autres sont des sorties anormales.

Notez que ce n’est qu’une « bonne pratique » et n’est pas une règle stricte dont le compilateur se soucierait.

De plus, il est intéressant de noter lorsque nous appelons un programme Java à partir de la ligne de commande que le code d’état est pris en compte.

Dans l’exemple ci-dessous, lorsque nous essayons d’exécuter SystemExitExample.class, si elle quitte la JVM en appelant le System.Exit avec un code d’état différent de zéro, l’écho suivant ne sera pas imprimé.

java SystemExitExemple && echo « Je ne serai pas imprimé » Pour que notre programme puisse communiquer avec d’autres outils standard, nous pourrions envisager de suivre les codes standard que les systèmes associés utilisent pour communiquer.

Par exemple, les codes d’état UNIX définissent 128 comme standard pour « argument non valide à quitter ». Donc, il pourrait être une bonne idée d’utiliser ce code lorsque nous avons besoin de notre code d’état pour être communiqué au système d’exploitation. Sinon, nous sommes libres de choisir notre code.

7. Conclusion

Dans ce tutoriel, nous avons discuté comment System.Exit fonctionne quand l’utiliser et comment l’utiliser.

Il est recommandé d’utiliser la gestion des exceptions ou des instructions de retour simple pour quitter un programme lorsque vous travaillez avec des serveurs d’applications et d’autres applications régulières. L’utilisation de la méthode System.Exit convient mieux pour les applications basées sur des scripts ou partout où les codes d’état sont interprétés.

Vous pouvez consulter les exemples fournis dans cet article sur OnGitHub.

vous pourriez aussi aimer