为了账号安全,请及时绑定邮箱和手机立即绑定

系统差异。Java中的exit(0),System.exit(-1),System.exit(1)

系统差异。Java中的exit(0),System.exit(-1),System.exit(1)

POPMUISE 2019-10-14 14:02:47
我想知道以下Java之间的区别System.exit(0);System.exit(-1);System.exit(1);什么时候必须适当使用以上代码?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

如果程序执行的好坏,则exit参数应为合格。这是较早的编程语言的一种遗传,在这种情况下,了解是否出了什么问题以及出了什么问题是很有用的。

退出代码为

  • 0 当执行顺利时;

  • 1-1whatever != 0发生了一些错误时,可以为不同类型的错误使用不同的值。

如果我是正确的,则退出代码过去只能是正数(在UNIX中是指),并根据范围:

  • 1-127是用户定义的代码(因此通过调用生成exit(n)

  • 128-255是由于不同的unix信号(例如SIGSEGVSIGTERM)而由终止生成的代码

但是我认为您在使用Java进行编码时不应该在乎,它只是一些信息。如果您计划使程序与标准工具进行交互,这将很有用。


查看完整回答
反对 回复 2019-10-14
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

Zero =>一切都好


Positive =>我预期可能会出错的东西出错了(错误的命令行,找不到文件,无法连接到服务器)


Negative=>我根本没想到的事情出了问题(系统错误-意外的异常-外部强制终止,例如kill -9)


(大于128的值实际上是负数,如果您将其视为8位带符号二进制或二进制补码)


这里有很多好的标准退出代码


查看完整回答
反对 回复 2019-10-14
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

System.exit(system call)通过启动其关闭序列来终止当前正在运行的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更高级别,则用于失败执行。


查看完整回答
反对 回复 2019-10-14
  • 3 回答
  • 0 关注
  • 1301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信