Errorlevel cmd

Fermé
genie-netcom - 15 janv. 2010 à 12:09
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 janv. 2010 à 14:25
Bonjour,
j'ai le programme java suivant:

public class test {
int t=1;
public test()
{
if( t==1)
System.out.println("exit avec status code :-1");
System.exit(-1);

}

public static void main(String [] args)
{
test test1=new test();
}
}

apres avoir executer ce programe,je tape la command cmd :echo %ERRORLEVEL% normalement ca devrait me retourner -1 ,puisque c'est mon dernier programe executé.mais ca me retourne 0
A voir également:

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 janv. 2010 à 12:56
Salut.
Il me semble que la console cmd comme les shell unix ont des codes de retour erreur en entier non signé.
Maintenant il faut voir comment est traité une valeur négative par JAVA et par la console, soit c'est remis à la valeur positive (bash) soit au complément à 2 ou tout simplement à 0 comme ça semble être le cas ici.
Je te conseil de tester avec une valeur positive.
0
genie-netcom
15 janv. 2010 à 13:24
oui,j'ai testé avec exit(100);aussi ca me donne 0
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 janv. 2010 à 14:25
Je suis niveau débutant en JAVA, mais il y a test la classe et test() qui retourne exit.
Pour moi ce deuxième test est un constructeur. Je ne suis pas sur qu'il faille mettre un constructeur dans la classe principale.
essai de mettre ton exit directement dans le main().
0