我已经在Java中创建了自己的UI组件。它有模型,一些模型的方法可以抛出我的异常叫做ModelException。我想用在JRuby中这个成分,但我不能提高我的ModelException:在JRuby中抛出Java异常并使用Java捕获它
raise ModelException # it cause TypeError: exception class/object expected
于是,我在JRuby中创建方法在Java中抛出ModelException,然后调用它:
public class ScriptUtils {
private ScriptUtils() {
}
public static void throwModelException(ModelException e)
throws ModelException {
throw e;
}
}
但是当我从JRuby中调用throwModelException我得到:
org.jruby.exceptions.RaiseException: Native Exception: 'class app.ui.ModelException'; Message:
; StackTrace: app.ui.ModelException
...
Caused by: app.ui.ModelException
此原生异常不能由Java代码处理。
任何想法如何在JRuby中抛出Java异常并在Java中捕获它?
+1在我看来,应该支持在JRuby中引发Java异常并将其捕获到Java代码中。我所知道要做的就是捕捉ScriptExpression,但不允许测试特定的异常。 – wberry