【问题标题】:Error while using Script Engine manager to evaluate Java String code使用脚本引擎管理器评估 Java 字符串代码时出错
【发布时间】:2013-12-11 18:58:24
【问题描述】:

我正在尝试使用来自新闻组另一个答案的以下代码评估 Java 中的字符串。

导入 java.lang.Object;

导入 javax.script.ScriptEngine;

导入 javax.script.ScriptEngineManager;

ScriptEngineManager m = new ScriptEngineManager();

ScriptEngine e = m.getEngineByName("js");

对象结果 = e.eval("13+23-3");

然而, 我在编译时收到“未报告的异常 javax.script.ScriptException;myst 被捕获或声明为被抛出”.. 错误。 由于我仍在学习并且在很大程度上不熟悉异常处理,有人可以帮助我吗?

谢谢。

【问题讨论】:

    标签: java string exception eval scriptengine


    【解决方案1】:

    当一个方法声明了一个已检查的异常,例如 ScriptException,你必须要么捕获并处理它,要么声明你的方法抛出它。在后一种情况下,调用您的方法的每个方法现在都必须捕获或声明它,并且链继续进行。

    您可以使用 try/catch 块捕获异常:

    try {
        Object result = e.eval("13+23-3");
        System.out.println("It worked!:" + result.toString());
    }
    catch (ScriptException se) {
        System.out.println("Problem in eval:", se.getmessage());
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-27
      • 2012-08-08
      • 1970-01-01
      • 2017-05-26
      • 2013-03-25
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多