0

例如,调用层次结构是methodA->methodB->methodC->methodD。

在methodD中,抛出一个检查异常。在methodB中,异常被捕获。

所以我的问题是,当我阅读代码并看到抛出异常时。有没有一种快速的方法可以找到捕获异常的代码?

顺便说一句,上下文是我正在重新构建应用程序中的所有异常。所以我在想如何获得更高的效率。

4

2 回答 2

0

如果我对您的理解正确,那么您正在某处捕获并记录异常,并且您想(在日志中)查看哪个类/方法引发了异常。这里有一些想法:

  1. 修改记录异常的代码以显式包含捕获异常的方法的名称。
  2. 修改您的记录器,使其捕获并报告记录异常的代码的上下文(调用类和文件/行号)。调用堆栈可用于此目的。

选项 #2 更复杂,但对于更大的代码库来说肯定更有效。

于 2012-09-11T20:11:13.943 回答
0

您需要查看 IDE 中的调用层次结构,然后从方法 D 退回到顶部以查找捕获异常的位置。

或者,您可以在调试器中抛出异常的位置设置断点并跳到下一行。;)

或者您可以打印堆栈跟踪并选择 IDE 中的每一行以查看堆栈跟踪引用的代码,看看它是否会捕获您的异常。

于 2012-09-10T09:15:21.013 回答