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でキャッチする方法はありますか?