我正在使用算术引擎进行计算。所以我想知道当我使用
时可能出现的所有异常是什么double res = Symbols.eval("string");
我将它封装在一个try块中
try{
double res = Symbols.eval("Expression");
return res;
}
catch(SyntaxException s)
{
System.out.println("Exception..!");
}
所以我想知道所有的异常都是生成的,这样我就可以知道我可能出错的地方
我不确定我完全理解这个问题,但是如果您捕获任何异常,然后打印堆栈跟踪,您可以更准确地找出抛出的异常类型以及导致它的原因。这将使您能够准确地将您提到的SyntaxError
与其他可能因其他原因引起的任何其他例外区分开来。
try
{
double res = Symbols.eval("Expression");
return res;
}
catch(Exception e)
{
e.printStackTrace();
}
打印堆栈跟踪非常重要,因为它可以让您准确地找出代码中的问题来自何处。如果你只做一个简单的System.out.println("Error happned")
,你不会得到那么多的信息。
当您打印堆栈跟踪时,您可以看到导致最终失败的方法调用的精确链,这使得很容易找出错误产生的原因。
我不熟悉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!");
}
我相信System.out.println(e.getMessage());
会给你更多有用的信息。