System.exit(0)和System.exit(-1)的区别



谁能告诉我System.exit(0)System.exit(-1)的区别吗?如果你能举例说明的话会很有帮助的。

这只是进程退出代码的不同。因此,如果要根据退出代码采取行动(其中0通常表示成功,非零通常表示错误),您可以控制他们看到的内容。

以下面这个小Java程序为例,它使用命令行参数的数量作为退出代码:

public class Test {    
    public static void main(String[] args) throws Exception {
        System.exit(args.length);
    }
}

现在从bash shell中运行它,其中&&表示"如果第一个命令成功,执行第二个命令",我们可以有:

~ $ java Test && echo Success!
Success!
~ $ java Test boom && echo Success!

System.exit(0)表示它是程序的正常退出。但是System.exit(-1)表示退出可能是由于某些错误。

System.exit(int)的参数是程序的返回值,可以在批处理作业(通常用于控制台程序)中求值。按照惯例,除0以外的每个值都表示出现了问题。

如果您在Linux/Unix中运行Java程序,您可以使用echo $?命令检查结果。这就是为什么如果一切正常,调用System.exit(0)(如果不这样做,则为您完成)和System.exit(non-zero)很重要的原因。

相关内容

  • 没有找到相关文章

最新更新