【发布时间】:2013-03-20 08:57:02
【问题描述】:
我正在查看看起来像
的代码try {
// Lots of things here.
// More than I'd like to individually hover over every time I see this
}
catch (Exception e) {
// doesn't matter
}
对于 try 块中的任何特定方法,我可以找到它抛出的已检查异常。有没有办法突出显示所有可能引发检查异常的行?
一般来说,我想我也许可以删除 catch 块,将方法签名更改为 throw Exception,此时,我可以看到方法中所有抛出异常的行(没关系:请参阅更新)。
在这种情况下,这甚至不会很好地工作,因为代码在 JSP 中。
注意:如果重要的话,我使用的是 MyEclipse 标准。
更新:标记出现已打开,但在这种情况下根本不做任何事情。我问这个问题是因为我认为有关上下文的某些东西导致了这种预期的行为,但它看起来像是一个奇怪的边缘情况或错误。
【问题讨论】:
-
如果您删除 try/catch 块 Eclipse 会将所有已检查的异常突出显示为错误(您需要捕获它们,它不会编译)。据我所知,该功能取决于编译错误,但我必须深入研究源代码才能找到它。假设它 not 基于编译错误,您可以将其挂接到编辑器中。对于一个功能来说这是一个好主意,但是我处理它的方式是简单地检查方法并检查文档(我认为是悬停或 F1)。通常带有异常的方法是相当明显的。
-
附带说明,如果其中的代码太多以至于您后悔想要悬停并查看引发异常的原因,您可能需要考虑重构并将一些内容提取到更多函数中。不过,对这个问题并没有真正的帮助。
-
我倾向于同意,但我对这个项目还不够熟悉,无法有效地重构它。而且,知道在哪里抛出了哪些异常将有助于理解和/或重构代码,因此存在先有鸡还是先有蛋的问题。
-
在我看来,你永远不应该直接看到
Exception。由于 Java 7 使您能够使用 Multicatch,因此您可以以相同的方式处理所有选中的Exceptions。使用Exception,您还可以捕捉到我从未捕捉到的RuntimeException(RuntimeException建议,你不能继续跑步)。如果RuntimeException被抛出,你也不应该抛出RuntimeException。这可以防止丢失您应该处理的抛出的Exceptions,并可能导致严重的错误。 -
为什么检查出现的技巧对您不起作用?你填错了吗? 也许没有抛出异常?
标签: java eclipse jsp exception