首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SyntaxException in Arity.jar

SyntaxException in Arity.jar
EN

Stack Overflow用户
提问于 2014-07-18 14:41:27
回答 3查看 112关注 0票数 0

我正在使用运算引擎进行计算。所以我想知道当我使用

double res = Symbols.eval("string");

我把这封信放在一个试块里

代码语言:javascript
复制
try{
double res = Symbols.eval("Expression");
return res;
}
catch(SyntaxException s)
{
System.out.println("Exception..!");
}

所以我想知道所有的异常都产生了什么,这样我就可以知道我可能出了什么问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-18 15:03:13

我不确定我是否完全理解这个问题,但是如果您捕捉到任何异常,然后打印堆栈跟踪,您可以更准确地确定抛出的异常类型以及导致异常的原因。这将使您能够准确地区分您提到的SyntaxError和其他可能因其他原因而产生的异常。

代码语言:javascript
复制
try
{
    double res = Symbols.eval("Expression");
    return res;
}
catch(Exception e)
{
    e.printStackTrace();
}

打印堆栈跟踪非常重要,因为它将使您能够准确地确定问题来自何处。如果您只是做一个简单的System.out.println("Error happned"),您将不会得到那么多的信息。

当您打印堆栈跟踪时,您可以看到导致最终失败的精确的方法调用链,这使您很容易找到错误产生的原因。

票数 1
EN

Stack Overflow用户

发布于 2014-07-18 15:13:39

我不熟悉这种情况,尤其是因为我找到的所有链接都会导致404错误页面。但是,除此之外,您还可以捕获已知的异常,以及稍后可以重构以处理它的任何其他异常的最终捕获。

代码语言:javascript
复制
try {
    double res = Symbols.eval("Expression");
    return res;
} catch (SyntaxException s) {
    System.err.println("Syntax exception");
} catch (Exception e) {
    System.err.println("Unknown exception caught!");
}
票数 0
EN

Stack Overflow用户

发布于 2014-07-18 16:09:52

我相信System.out.println(e.getMessage());会给您提供更多可用的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24827689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档