我用 Java 创建了自己的 UI 组件。它有模型,模型的一些方法可以抛出我的异常,称为 ModelException。我想在 JRuby 中使用这个组件,但我不能引发我的 ModelException:
raise ModelException # it cause TypeError: exception class/object expected
所以我尝试在 Java 中创建抛出 ModelException 的方法,然后在 JRuby 中调用它:
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 中捕获它?