我已經在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