有没有快速找到异常的catch子句的方法?

时间:2012-09-10 09:11:36

标签: java exception exception-handling

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

在methodD中,抛出已检查的异常。在methodB中,捕获异常。

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

如果我理解正确,你就会捕捉并记录某些异常,并且你想看(在日志中)哪个类/方法抛出了异常。以下是一些想法:

  1. 修改记录异常的代码,以明确包含捕获异常的方法的名称。
  2. 修改您的记录器,以便它捕获并报告记录异常的代码的上下文(调用类和文件/行号)。调用堆栈可用于此目的。
  3. 选项#2更复杂,但对于更大的代码库来说肯定更有效。