0

我对 Java RuntimeError 有一个笨拙的使用,我在其中完全处理了错误。唯一的问题是它给了我烦人的跟踪,告诉我我派生和抛出的运行时错误发生在哪里。如何抑制这种痕迹?

作为参考,问题是我将一个非抛出类子类化并且需要我的子类抛出。它要么是“重写我的程序以像 C 程序一样读取”,要么是“使用运行时错误来绕过抛出规范要求”。显然,我现在发现抛出规范要求非常适得其反——其他不涉及维护一堆“workIsDone”变量的解决方法将不胜感激。

4

1 回答 1

1

没有代码很难知道你在说什么,但总的来说,堆栈跟踪来自一个处理程序,它捕获异常并调用printStackTrace()它。除非有要求,否则堆栈跟踪不会出现。现在,如果一个异常一直到达(例如)AWT 事件线程堆栈的顶部,那么默认处理程序将以这种方式打印出来。

通常,您要处理异常。使用运行时异常来解决某些超类方法没有声明任何异常的事实可能是一个很好的策略,但是您负责始终捕获这些异常。如果你不能——即,如果其他代码要捕获它们——那么这是一个糟糕的策略,你不能使用它。

于 2012-04-25T17:39:12.537 回答