Eclipse:在块中查找可以抛出exception的行

我正在看看看起来像的代码

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块中的任何特定方法,我可以找到它抛出的已检查exception。 有没有办法突出显示可能引发一些检查exception的所有行?

一般来说,我想我可能会删除catch块,更改方法签名以抛出exception,此时,我可以看到方法中抛出exception的所有行(Nevermind:参见更新)。

在这种情况下,这甚至都不能很好地工作,因为代码在JSP中。

注意:如果重要,我正在使用MyEclipse标准。

更新:标记出现已启用,但在这种情况下根本不执行任何操作。 我问了这个问题,因为我认为关于上下文的某些内容会产生这种预期的行为,但它看起来像是一个奇怪的边缘情况或错误。

在eclipse中,如果启用“突出显示”并选择“ Exception ,它将突出显示正在抛出由catch块捕获的(已检查)exception的所有行。

将光标放在catch子句中的“Exception”(或者您捕获的任何类型的exception)中间。 单词“Exception”和抛出此类exception的所有方法调用将自动标记为灰色背景突出显示。 此function在Eclipse中称为“标记出现”。

如果您在Eclipse安装中没有看到这种情况,请按Alt Shift O (O like Occurances)一次以切换该function并重复上述工作流程。 或使用toobar按钮(此工具栏按钮列表中的第二个条目)。

您可以阅读类的参考手册,以确定特定方法可以抛出的exception。 请记住,java有两种exception:checked和unchecked。 使用未经检查的exception,该方法不必声明它可以抛出exception(例如RuntimeException)

我还建议你使用一些IDE,比如Eclipse,它会立即告诉你一行是否可以抛出exception并且你没有处理它 – 你可以用try-catch包装它或让方法抛出它单击鼠标。