我试图确保我的Rhino脚本(在java6下运行)是严格的,这样如果脚本开发人员拼写错误了一个表达式,我就希望抛出一个异常。目前的情况是表达式的计算结果只是“未定义”。
https://developer.mozilla.org/en/New_in_Rhino_1.6R6
有一些特性可以在上下文中启用严格检查。我找不到这样一个有效的例子。
到目前为止,我所做的是编写一个类来扩展ContextFactory,然后重写hasFeature方法。
public class ScriptContextFactory extends ContextFactory {
protected boolean hasFeature(Context context, int featureIndex) {
switch (featureIndex) {
case Context.FEATURE_STRICT_EVAL:
return true;
case Context.FEATURE_STRICT_VARS:
return true;
}
return super.hasFeature(context, featureIndex);
}
}
然后大体上我将我的设置为默认值。
ContextFactory.initGlobal(new ScriptContextFactory());
有什么关于这个工作原理的想法或例子吗?
短暂性脑缺血发作