我正在尝试用Java计算一个字符串,使用新闻组中另一个答案中的以下代码。
导入java.lang.Object;
导入javax.script.ScriptEngine;
导入javax.script.ScriptEngineManager;
ScriptEngineManager m=新的ScriptEngineManager();
ScriptEngine e= m.getEngineByName("js");
Object result = e.eval("13+23-3");
然而,我得到了一个“未报告的异常javax.script.ScriptException;myst be caught or声明为抛出”..编译时出错。因为我还在学习,在很大程度上还不熟悉异常处理,有人能帮我吗?
谢谢。
发布于 2013-12-12 03:05:39
当一个方法声明一个受控异常时,你必须捕获并处理它,或者声明你的方法抛出了它。在后一种情况下,调用您的方法的每个方法现在都必须捕获或声明它,并且链继续下去。
您可以使用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());
}https://stackoverflow.com/questions/20527671
复制相似问题