首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统上的差异。exit(0),System.exit(-1),System.exit(1 )

系统上的差异。exit(0),System.exit(-1),System.exit(1 )
EN

Stack Overflow用户
提问于 2010-03-13 01:33:31
回答 12查看 454K关注 0票数 298

我想知道以下Java语言的不同之处

代码语言:javascript
复制
System.exit(0);
System.exit(-1);
System.exit(1);

什么时候我必须适当地使用上面的代码?

EN

回答 12

Stack Overflow用户

发布于 2010-03-13 01:37:01

exit的参数应该限定程序的执行是好是坏。这是一种来自旧的编程语言的遗传,在旧的编程语言中,知道是否出了问题以及出了什么问题是很有用的。

退出代码是

  • 0 when execution when fine;
  • 1-1whatever != 0当某些错误发生时,您可以对不同类型的错误使用不同的值。

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

  • 1-127是用户定义的代码(因此,通过调用exit(n))
  • 128-255生成的代码是由于不同的unix信号而由终端生成的代码,如SIGSEGV或unix

但我不认为在Java上编码时你应该关心,这只是一点信息。如果你打算让你的程序与标准工具交互,这是很有用的。

票数 263
EN

Stack Overflow用户

发布于 2012-11-06 16:42:38

Zero =>一切都好

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

Negative =>一些我完全没有预料到的错误(系统错误-意外异常-外部强制终止,例如kill -9)

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

有很多好的standard exit-codes here

票数 137
EN

Stack Overflow用户

发布于 2015-07-27 15:05:54

System.exit(system call)通过启动虚拟机的关闭序列来终止当前正在运行的虚拟机。该参数用作状态代码

按照惯例,非零状态代码表示异常终止。

代码语言:javascript
复制
  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或更高版本表示失败执行。

票数 55
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2434592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档