我想知道以下在Java中的区别
System.exit(0);
System.exit(-1);
System.exit(1);
什么时候我必须适当地使用上面的代码?
我想知道以下在Java中的区别
System.exit(0);
System.exit(-1);
System.exit(1);
什么时候我必须适当地使用上面的代码?
当前回答
系统。exit(系统调用)通过启动Java虚拟机的关闭序列来终止当前运行的Java虚拟机。参数用作状态码。
按照惯例,非零状态码表示异常终止。
System.exit(0) or EXIT_SUCCESS; ---> Success
System.exit(1) or EXIT_FAILURE; ---> Exception
System.exit(-1) or EXIT_ERROR; ---> Error
阅读更多Java
在Unix和Linux系统上,0表示执行成功,1或更高表示执行失败。
其他回答
Exit(0)通常用于表示成功终止。Exit(1)或Exit(-1)或任何其他非零值表示终止不成功。
在system.exit()中放入的数字的差异在其他答案中解释了。但真正的区别在于System.exit()是返回给调用进程的代码。如果程序被操作系统调用,那么返回代码将告诉操作系统,如果system.exit()返回0,那么一切正常,但如果没有出错,那么在父进程中可能会有一些处理程序
这就是答案。
System.exit(0);// normal termination - Successful - zero
System.exit(-1);//Exit with some Error
System.exit(1);//one or any positive integer // exit with some Information message
system . exit (0) 按照惯例,状态码为0表示终止成功。
system . exit (1) -表示由于某些错误导致终止失败
正如别人回答0意味着成功,否则。
如果您使用bat文件(窗口)System.exit(x)将生效。
代码java (myapp):
if (error < 2){
help();
System.exit(-1);
}
else{
doSomthing();
System.exit(0);
}
}
bat文件:
java -jar myapp.jar
if %errorlevel% neq 0 exit /b %errorlevel%
rem -- next command if myapp is success --