本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接
问题:Java里面System. exit(0) , System.exit(-1), System.exit(1 )的不同
在Java里,我想知道下面几个的区别
System.exit(0);
System.exit(-1);
System.exit(1);
我应该什么时候使用上述代码?
回答
exit的参数应该是决定于程序的执行是好是坏的。这是一种从较老的编程语言中继承而来的,在这些语言中,知道什么地方出错了以及出什么错了是很有用的。
退出代码
-
执行正常时为0;
-
当某些错误发生时,可以使用不同的值来处理不同类型的错误。
如果是正确的,退出码通常是正数(我的意思是在UNIX中),根据范围:
-
1-127为用户自定义代码(通过调用exit(n)生成)
-
128-255是由于不同的unix信号如SIGSEGV或SIGTERM而产生的终止代码
但我认为在Java上编写代码时不应该太在意,这只是一些信息。如果你计划让你的程序与标准工具交互,这将非常有用。
回答二
0 =>一切正常
正数=> 我预期的可能出错的地方出了问题(错误的命令行,找不到文件,无法连接到服务器)
负数=> 我没有料到的地方出了问题(系统错误-意外异常-外部强制终止,例如kill -9)
(大于128的值实际上是负数,如果你把它们看作8位有符号二进制,或2进制补码)
这里有很多标准的退出码
文章翻译自Stack Overflow:stackoverflow.com/questions/2…