我们有一个字符串输入,例如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
    }
}

10-06 04:56