Code retour Java sous Unix

Code retour Java sous Unix - Java - Programmation

Marsh Posté le 04-10-2006 à 17:47:57    

Salut,
j'ai un programme Java qui se termine par

Code :
  1. ...
  2. int iCodeRet = ...;
  3. ...
  4. System.out.println(iCodeRet);
  5. System.exit(iCodeRet);
  6. }


Lorsque je l'exécute sous Unix (AIX + bash) j'obtiens par exemple ça :

Code :
  1. > java mon_prog
  2. 100
  3. > echo $?
  4. 100

OK  :)  
mais aussi ça dans d'autres cas de figure :

Code :
  1. > java mon_prog
  2. 706
  3. > echo $?
  4. 194

:heink:  
What is the problem ? Il y a une limite aux valeurs ?  :??:


Message édité par Peanuty le 04-10-2006 à 17:48:42
Reply

Marsh Posté le 04-10-2006 à 17:47:57   

Reply

Marsh Posté le 04-10-2006 à 20:47:57    

oui. à vérifier en fonction du shell. à priori 0-255 ou 0-127

Reply

Marsh Posté le 04-10-2006 à 22:28:50    

706 - 2*256 = 194
706 - 4*128 = 194
 
Bingo
 
[:pingouino]

Reply

Marsh Posté le 04-10-2006 à 22:35:37    

effectivement, 2*256 = 4*128

Reply

Marsh Posté le 05-10-2006 à 07:21:02    

Taz a écrit :

effectivement, 2*256 = 4*128


Spa con [:crusty128]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 05-10-2006 à 08:38:44    

sinon c'est juste un % :o

Reply

Marsh Posté le 05-10-2006 à 10:03:42    

Ou 706 - 1*512...  :D  
 
Bon, j'ai essayé, c'est à partir de 256 que ça bascule.
Je pensais pas du tout qu'il y avait une limitation !

Reply

Marsh Posté le 05-10-2006 à 12:00:31    

En même temps, c'est pas choquant. En général un programme n'a pas beaucoup de code retour : un code OK et quelques codes d'erreur.
 
NB : le code retour n'est pas là pour transmettre un résultat mais pour dire si l'execution du programe s'est bien passée ou non.
Le résultat doit être transmis par la sortie standard.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed