我正在使用Arity算术引擎进行计算。所以我想知道当我使用
时会出现什么异常double res = Symbols.eval(“string”);
我把它封装在一个试块中
try{
double res = Symbols.eval("Expression");
return res;
}
catch(SyntaxException s)
{
System.out.println("Exception..!");
}
所以我想知道所有异常的产生因此我可以知道我可能会出错的地方。
答案 0 :(得分:1)
我不确定我是否完全理解这个问题,但是如果您捕获任何异常然后打印堆栈跟踪,您可以更准确地确定抛出的异常类型以及导致它的原因。这样您就可以准确地区分您提到的SyntaxError
与其他可能因其他原因而出现的例外情况。
try
{
double res = Symbols.eval("Expression");
return res;
}
catch(Exception e)
{
e.printStackTrace();
}
打印堆栈跟踪非常重要,因为它可以让您准确了解代码中代码的来源。如果您只是做一个简单的System.out.println("Error happned")
,那么您将无法获得尽可能多的信息。
当您打印堆栈跟踪时,您可以看到精确的方法调用链,这些方法调用导致最终失败,直到该行,这使得很容易找出错误产生的原因。
答案 1 :(得分:0)
我对Arity不熟悉,特别是因为我找到的所有链接都会导致404错误页面。但除此之外,你可以捕获已知的异常,以及可以在以后重构以处理它的任何其他异常的最终捕获。
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!");
}
答案 2 :(得分:0)
我确定System.out.println(e.getMessage());
会为您提供更多有用的信息。