3

我使用abort()In C使我的程序崩溃。调试器会捕获它。

也许Java中的等价物应该是例外。但是 Java 也有非常严格的异常链接策略,因此使用异常进行调试似乎不是一个好主意。

我应该在 Java 中为此使用什么?出于调试目的的故意程序崩溃,可以被调试器捕获。(我正在使用 Eclipse)

更新

如果代码可以在发布版本中选择退出,那就太好了。

4

3 回答 3

4

在 Eclipse 中,您可以设置调试点,并在调试模式下运行。

也就是说,a CheckedException(必须被调用函数捕获或向上传递)和UncheckedException(更接近你想要的)之间存在差异。如果您想强制崩溃,请抛出后者。

然而,这通常是一种糟糕的编程方式。使用替代方法来捕获所需的错误,您会发现更好的结果。

于 2013-03-27T05:43:15.903 回答
2

您可以使用assert(false). 假设您使用 Eclipse 作为调试器,您可以将 Eclipse 设置为中断特定异常(在本例中为AssertionError)。确保启用 assertions,否则它不会做任何事情。

由于您必须明确告诉 JVM 启用断言,我认为这将算作“可以在发布构建时选择退出的代码”。

于 2013-03-27T06:16:59.187 回答
0

我不知道如何在 Eclipse 中处理它。但是,在 JDB 下,这可以通过捕获异常来完成。Eclipse 应该有这样的接口。

像这样使用命令行

"catch java.io.FileNotFoundException"

详情请参考这里

于 2013-03-27T05:44:30.617 回答