由ArrayIndexOutofBound异常引起的InvocationTargetException

时间:2013-12-09 09:12:47

标签: java exception exception-handling indexoutofboundsexception invocationtargetexception

我有一个函数,其中使用的是methodaccesor的invoke函数,问题是我使用的应用程序非常庞大,所以有时抛出这个异常InvocationTargetException并且导致这种情况恰好是ArrayIndexOutofBounds Exception。发生的问题是比较少8%的事务导致这个(我无法复制这种情况),我无法弄清楚是什么/如何导致这个

你能不能就这个问题向我提出建议,如何解决这个问题?

我在这里使用了反射器的PropertyUtils类getindexedproperty导致InvocationTargetException这个东西无法复制问题可能导致这种情况,因为它很少发生

1 个答案:

答案 0 :(得分:0)

您可能遇到捕获异常的代码,并且没有记录正确的堆栈跟踪。

更改代码中的所有此类实例,而不是:

try {
    // dangerous stuff here
} catch (SomeException e) {
    // Personally, I like to send a stack trace to stderr.
    // You may prefer to print this to your log, eg if you don't capture stderr,
    // or won't/can't for whatever reason.
    e.printStackTrace(System.err);
}

你永远不会再担心代码中的这些异常会从哪里冒出来。

当你访问每个尝试捕获时,问问自己你是否真的应该对这些失败感到强烈;有时最好的办法是让代码快速失败,首先捕获异常。当应用程序由于某些状态不正确的代码/数据而失败时,您会很快发现并获得路由图(堆栈跟踪)到根本原因。