我有一个java项目,我想要一个源代码中的位置列表,可能会抛出RuntimeException。是否有任何工具或Eclipse插件可以执行此操作?
使用FindBugs或PMD可能找到NullPointerExceptions,但我也需要找到其他人。
答案 0 :(得分:2)
NullPointerException,ClassCastException和ArithmeticException是一种特殊情况,因为它们不需要显式抛出。但是,其他一切都必须明确抛出。
搜索NullPointerException的可能原因很有用,因为它是一个常见的bug,但是像所有RuntimeException一样,最好避免它们而不是处理它们。搜索所有可能的原因可能会给您一个非常大的结果,这可能不太有用。 (我自己经历过这个练习,经过大量工作后没有取得多少成就恕我直言)
最好使用代码覆盖率并尝试边缘大小写值,以确保您拥有可能会触发所有可能异常的良好测试用例。
答案 1 :(得分:0)
如果您只检查自己的代码,可以使用Checkstyle执行此操作。查看Coding Problems, Illegal Throws支票。
您可以指定任意数量的例外,默认情况下为:java.lang.Throwable, java.lang.Error, java.lang.RuntimeException
。
注意:这不会获取上述异常的子类,它只会自己获取类。它也不会检查您无权访问的源代码,因此不会检查运行时库。
答案 2 :(得分:0)
我同意其他答案。由于我不知道你想要达到什么目标,我想更直接地回答你的问题:
不幸的是,我不知道这样做的工具。抱歉。根据对您的重要程度,您可以自己投入一些工作。
手动检查您的代码。
之后JDK仍然存在(并且很可能是您使用的一些库)。您可以从Oracle下载JDK源代码。您可以再次全新搜索新创建的异常实例。但请注意,即使这项繁琐的工作也不会给你所有可能的来源,因为那里缺少一些方法。