我知道如果你确实在 jexl.createScript(expressionStr) 上尝试 catch ,并且如果表达式无效(例如缺少括号或不是有效的关闭语句),jexl 会抛出错误。是否有一些库可以返回失败的详细原因,而不仅仅是解析失败的位置和字符?还是我需要自己写一份定制的?
目前没有其他方法可以确定脚本在语法上是否有效。异常类型(标记化、解析、模糊)、其消息和位置应表明其无效的原因和位置;如果不是这种情况,请提供示例。