当前位置: 首页 > 知识库问答 >
问题:

使用脚本引擎管理器计算Java字符串代码时出错

权浩阔
2023-03-14

我试图在Java中计算一个字符串,使用新闻组上另一个答案中的以下代码。

导入java.lang.对象;

导入javax。剧本脚本引擎;

导入javax。剧本脚本引擎管理员;

ScriptEngineManager m=新ScriptEngineManager();

ScriptEngine=m.getEngineByName(“js”);

目标结果=e.eval(“13 23-3”);

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

谢谢。

共有1个答案

金坚
2023-03-14

当一个方法声明一个选中的异常(比如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());
}
 类似资料:
  • 问题内容: 单词示例:a,akkka,akokaa,kokoko,kakao,ooooooa,kkako,kakaoa 我需要正则表达式女巫给带有2个或更少的’a’的单词,而不给没有’a’的单词 结果:a,akka,kakao,ooooooa,kkako 好的,实际上我正在使用: 这将返回0行,其中有带有2位和3位的单词 问题答案: 更新以在两者之间使用。

  • 我必须把一个项目从Java8转移到Java17。 我可以解决大多数问题,但它包含一种方法,我使用ScriptEngineManager来计算一个数学术语。 在Java8中,它可以根据需要工作,但在Java17中始终为空。 根据谷歌的说法,Java17不再支持JavaScript引擎。 由于项目限制,我不允许使用第三方库。 在Java17中有没有合适的方法来处理这个问题?

  • 问题内容: 我需要计算一个字符在一个字符串中出现的次数。 例如,假设我的字符串包含: 我想找到逗号字符的数量,即3。以及沿逗号分割后的各个字符串的数量,即4。 我还需要验证每个字符串,即str1或str2或str3或str4不应超过15个字符。 问题答案: 我已经更新了这个答案。我喜欢更好地使用比赛的想法,但是比较慢: 如果您事先知道要搜索的内容,则使用正则表达式文字;如果不知道,则可以使用构造函

  • 问题内容: 我的公司刚刚完成了年度审核流程,我终于说服了他们,该是时候找到一个更好的解决方案来管理我们的SQL模式/脚本。目前,我们只有几个脚本可以手动更新。 我曾在另一家公司使用过VS2008 Database Edition,这是一个了不起的产品。我的老板要我看一下Redgate的SQL Compare,并寻找其他可能更好的产品。SQL Compare似乎也是一个很好的产品。但是,看起来他们没

  • 我需要自动化web分析,为此,我需要从java代码触发“谷歌标签管理器”GTM脚本。例如。 用户转到https://www.etsy.com/ 用户查找DataLayer的GTM脚本 null

  • 当我试图在Visual Studio 2013 for C#项目中运行代码度量(分析->计算解决方案的代码度量)时,我得到了以下错误: null