【发布时间】:2011-10-26 18:09:08
【问题描述】:
在C程序中,我一般在exit()函数中使用EXIT_SUCCESS或EXIT_FAILURE来提高程序的清晰度和可理解性。
但是在System.exit() 我不能使用这些宏。
我可以将自己的界面定义为
public interface ReturnValues {
public int EXIT_SUCCESS = 0;
public int EXIT_FAILURE = 1;
}
除了我自己的实现,java中还有其他方法可以使用这些宏吗? (例如使用预定义的库类变量或通过实现预定义的接口等。)
【问题讨论】:
-
@McDowell 是的,确实如此。参考:gnu.org/s/hello/manual/libc/Exit-Status.html。谢谢你的评论。我纠正了它。但在 C 中任何函数的一般理论中,错误将返回 -1。我对吗?需要解释。
-
退出代码范围是 system dependent 但我相信 POSIX 系统将值限制为 0-255。
-
@EAGER_STUDENT 在 2 的补码中,-1 映射到全 1 的二进制数。或者,在十六进制中,所有 F。用作错误的退出值可能不是标准的,但 0000 和 FFFF 之间的差异肯定比 0000 和 0001 之间的差异更容易看出。当然,任何理智的处理器都会花费相同的时间来区分差异,但作为人类,这很好。