无法解析(检查语法)groovy代码。 parse()
方法不会抛出任何异常,但在执行它时会抛出异常
GroovyShell gEngine = new GroovyShell();
gEngine.evaluate("def n; print ddd"); // throws an exception
gEngine.parse("def n; print ddd"); // don't throws Excption
答案 0 :(得分:0)
来自groovy API:
解析给定的脚本并将其准备好运行
针对当前Binding评估一些脚本并返回结果
正如@tim_yates在评论中指出的那样,evaluate
运行脚本而parse
返回脚本对象而不运行它,这就是evaluate
抛出异常的原因:groovy.lang.MissingPropertyException: No such property: ddd
但是,如果您运行parse
返回的脚本,它将抛出相同的异常:
GroovyShell gEngine = new GroovyShell()
def script = gEngine.parse("def n; print ddd")
script.run() // throws missingPropertyException