我在System.exit(int status)
上看到了大量关于stackoverflow
的问题。
例如:
Difference in System. exit(0) , System.exit(-1), System.exit(1 ) in Java
difference between System.exit(0) and System.exit(-1)
但我在部分问题上看不到答案:
我们是否在exit status
和System Error Codes
之间为Microsoft产品(Microsoft site)建立了直接联系?
当然,我们没有任何直接联系,但是:我们可以建立此连接吗?
如果我们在Windows操作系统上运行java程序并且我们的java程序有System.exit(int status)
语句,我们可以使用System Error Codes list
还是不使用?
是不是好主意?
你怎么看?还有其他想法吗?
示例:
FileNotFoundException
; System.exit(int state)
; exit status
可以等于 2 吗? 因为(Microsoft site):
ERROR_FILE_NOT_FOUND
2 (0x2)
The system cannot find the file specified.
答案 0 :(得分:8)
退出状态是您选择的值。如果您调用程序然后根据执行完毕后返回的退出值做出反应,您可以随意处理它们。
只有一条通用规则,即退出状态0假定您的程序没有错误地完成。此外,由于意外错误,负退出状态通常被假定为终止,而正退出状态被假定为(或多或少)正常终止。
但是再次说明:如果没有批处理文件调用你的代码,没有人会对退出状态作出反应,因此你可以返回你想要的任何东西,它将没有任何效果。
答案 1 :(得分:2)
退出代码只是信息性的,可以基于您的设计。 Microsoft代码很重要,因为MS软件可能会尝试识别它们,同样在Linux上有different set预定义的约定代码。使用其中一套不会有害。