验证JavaScript代码

Tho*_*mas 5 javascript java rhino scriptengine

我使用Java的ScriptEngine执行JavaScript代码。我使用Invocable接口,以便可以将脚本代码用作实现Java接口的普通Java对象。

如果JavaScript代码

  • 是无效的
  • 不遵循界面(缺少方法,错误的返回类型,引发异常等)

我在执行代码时从Rhino或UndeclaredThrowableException获得内部异常。两者都是RuntimeException,不能“允许”捕获。

有没有一种方法可以在执行之前验证代码?还是我必须在这里打破规则并捕获RuntimeExceptions?那对我有用,但是最优雅的方法是什么?

Kev*_*vin 2

有没有办法在执行之前验证代码?

不会。JavaScript 是松散类型的,没有接口的概念,并且是动态解释的。

如果不设计自己的验证框架,您能做的最好的事情就是使用JSLint检查它是否有语法错误。