我使用 Java 的 ScriptEngine 来执行 JavaScript 代码。我使用 Invocable 接口,以便可以将脚本代码用作实现 Java 接口的普通 Java 对象。
如果 JavaScript 代码
- 是无效的
- 不遵循接口(缺少方法、错误的返回类型、抛出异常等)
执行代码时,我从 Rhino 收到内部异常或 UndeclaredThrowableException。两者都是 RuntimeExceptions,它们是“不允许”捕获的。
有没有办法在执行之前验证代码?还是我必须在这里打破规则并捕获 RuntimeExceptions?这对我有用,但最优雅的方式是什么?