我们有一个字符串输入,例如2+2
。现在我们要对其进行转换以便进行计算。我已经为其编写了以下代码,如果我在main方法中使用此throws ScriptException
,它将可以正常工作。但是我不想在我的主要方法中使用它。但是,我遇到了这种异常,我不知道该如何解决?
问题发生在我有any(str);
的地方
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
public class Supporter{
public static void main(String[] args){
String str = "2+2";
any(str);
}
static void any(String hello) throws ScriptException{
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
System.out.println(engine.eval(hello));
}
}
最佳答案
如果我在主方法中使用此方法抛出ScriptException,它将起作用。但是我不想在我的主要方法中使用它。
为什么呢您的代码对我来说似乎很好。
在主方法中没有理由避免使用throws ScriptException
。
但是,如果您想要try..catch
,请尝试
public static void main(String[] args){
String str = "2+2";
try {
any(str);
}catch (ScriptException e) {
//error
}
}