如何解除捕获的异常

时间:2011-08-03 10:55:24

标签: java

如果有任何异常,我想要抛出我的java脚本。问题是,我们在我的脚本中扩展了一个超类但是在那个超类中有一个被称为ScriptFailureException的异常被捕获,而超类是在我们无法编辑的JAR中。我们希望阻止该异常被捕获。是否可以防止捕获该异常,或者是否有任何其他方法可以使我们的脚本在这种情况下失败。我尝试了System.Exit()等方法,但它们没有用。我们正在通过TestNG运行我们的脚本。

5 个答案:

答案 0 :(得分:3)

首先,Java不是脚本语言,也不是脚本的概念。你不应该使用术语脚本,而是术语“类”,“方法”,“程序”。

要回答您的问题,如果方法捕获异常,则会捕获异常,并且您无法对其执行任何操作。但是,您可能会抛出另一个不会被超类方法捕获的异常类型。

答案 1 :(得分:0)

否,除非超级类让你知道ScriptFailureException以其他方式发生而不是抛出它。另一种方法之一可以是例如方法调用的返回值为null。

答案 2 :(得分:0)

Jar代码捕获异常时会采取什么操作?事件发生后你能发现这个动作吗?例如,如果Jar代码写入日志,那么您可以检查日志以查看是否在那里记录了该异常,然后抛出了您自己的新异常。

答案 3 :(得分:0)

您可以通过抛出错误来完全使Java失败。

throw new Error("Oh dear");

虽然那很麻烦。

尝试定义自己的异常并抛出它。

public class CustomException extends Exception { }

// somewhere else
throw new CustomException("Some detail");

答案 4 :(得分:0)

一个小技巧是将ScriptFailureException声明为RuntimeException

的扩展名

我认为这不是执行代码的最佳方式,但它有效。 <{1}}对象不需要显式的try / catch块。

然后,您必须声明RuntimeException

问候!