Errorlevel cmd

genie-netcom -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
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 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
 
oui,j'ai testé avec exit(100);aussi ca me donne 0
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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