Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2994 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Execution d'un void main(args[]) en java et valeur retour

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Execution d'un void main(args[]) en java et valeur retour

n°1318070
paquerette
Flower Power...
Posté le 03-03-2006 à 18:25:24  profilanswer
 

Bonjour,
 
J'ai besoin d'executer du code Java  
 
java maClasse
 
et de retourner une valeur en fonction de la bonne exécution ou pas du code java afin d'informer un outils de supervision.
 
Je doit retourné 0 si c'est OK, 1,2,3... suivant le type d'erreur survenue.
 
Le système sous jacent est Windows 2000 Server.
 
Comment je peux faire ca  vu que la méthode main ne retourne rien? (Alors qu'en C par exemple retourne un int)
 
 
Paquerette


---------------
Paquerette - "Life is a zoo in a jungle." - Peter De Vries. Mes anciens feedback Achat/Ventes : https://forum.hardware.fr/hfr/Achat [...] 8859_1.htm
mood
Publicité
Posté le 03-03-2006 à 18:25:24  profilanswer
 

n°1318083
souk
Tourist
Posté le 03-03-2006 à 18:39:01  profilanswer
 

peut etre avec un System.exit(int returnCode) ?
 
(je dis ca, j'en sais rien, je propose juste [:petrus75] )

n°1318092
paquerette
Flower Power...
Posté le 03-03-2006 à 18:50:48  profilanswer
 

héhé... pas mal...
 
je suis vraiment débordé...
 
Merci bcp :)


---------------
Paquerette - "Life is a zoo in a jungle." - Peter De Vries. Mes anciens feedback Achat/Ventes : https://forum.hardware.fr/hfr/Achat [...] 8859_1.htm
n°1901278
ghitaik
Posté le 01-07-2009 à 19:47:56  profilanswer
 

Malheureusement ce n'est pas une solution, car System.exit(n) retourne dans tous les cas 1.
System.exit(0) -> signifie que le programme a été quitté normalement
System.exit(1), System.exit(2), System.exit(n) => signifient que le programme a été quitté à cause d'un problème.
 
Je cherche toujours une solution pour récupérer un int d'un programme java
 
 

n°1901308
souk
Tourist
Posté le 01-07-2009 à 22:02:33  profilanswer
 

ghitaik a écrit :

Malheureusement ce n'est pas une solution, car System.exit(n) retourne dans tous les cas 1.
System.exit(0) -> signifie que le programme a été quitté normalement
System.exit(1), System.exit(2), System.exit(n) => signifient que le programme a été quitté à cause d'un problème.
 
Je cherche toujours une solution pour récupérer un int d'un programme java
 
 


 
je comprends pas ton probleme, j'ai l'impression que ca n'a rien a faire ici.
System.exit(n) genere bien un status code n  
 
qu'est-ce que t'essaies de faire au juste ? [:pingouino]

n°1901333
ghitaik
Posté le 01-07-2009 à 23:40:50  profilanswer
 

J'ai le même problème que le posteur du topic, j'utilise Nagios qui est un outil de monitoring, j'ai implémenté des plugins avec java qui doivent s'intégrer à cet outil, sauf que cet  outil exige un retour d'une valeur int (0, 1, 2,3 ou 4)
puisque java s'exécute à partir de la méthode main() qui retourne void, je cherche un moyen de retourner un int.
 
J'ai songé à System.exit(1)
System.exit(2);
...
System.exit(4);
 
mais malheureusement cette fontion ne retourne pas l'int qu'elle reçoit en argument...

n°1901338
souk
Tourist
Posté le 02-07-2009 à 00:15:43  profilanswer
 

Code :
  1. public class Go{
  2.     public static void main(String[] args){
  3.         if (args == null || args.length==0){
  4.             System.exit(0);
  5.         }else{
  6.             System.exit(Integer.parseInt(args[0]));
  7.         }
  8.     }
  9. }


 


> java Go
> echo $?
0
> java Go 42
> echo $?
42
 


 
chez moi ca marche  [:souk]

n°1907457
spam12555
Posté le 21-07-2009 à 23:11:56  profilanswer
 

pourquoi tu ne utilise pas une valeur static qui egale 0 ou 1,2,3,...selon votre teste

n°1907488
gilou
Modérateur
Modzilla
Posté le 22-07-2009 à 08:40:27  profilanswer
 

souk a écrit :

Code :
  1. public class Go{
  2.     public static void main(String[] args){
  3.         if (args == null || args.length==0){
  4.             System.exit(0);
  5.         }else{
  6.             System.exit(Integer.parseInt(args[0]));
  7.         }
  8.     }
  9. }


 


> java Go
> echo $?
0
> java Go 42
> echo $?
42
 


 
chez moi ca marche  [:souk]


Et sous windows, ca marche aussi, comme le montre ce batch:

Code :
  1. @echo off
  2. REM trick to set errorlevel to 1
  3. COLOR 00
  4. ECHO BEFORE CALL %errorlevel%
  5. call java Go 999
  6. ECHO AFTER CALL %errorlevel%


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Execution d'un void main(args[]) en java et valeur retour

 

Sujets relatifs
[resolu] Convertir un entier en chaine représentant sa valeur hexa[java] serveur de messagerie instantanée
Java Socket & Crontabappel d'une commande shell à partir d'un programme java
erreur de compilation java.langPrésentation java
Execution de requeteprogrammation java/ihm
[java.util.UUID] y a-t-il une implémentation libre ?Digest entre JAVA et .NET
Plus de sujets relatifs à : Execution d'un void main(args[]) en java et valeur retour


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR