我有一个java项目,我想要在源代码中可能抛出RuntimeException的位置的列表。有没有什么工具或Eclipse插件可以做到这一点?
使用FindBugs或PMD可能会定位到NullPointerExceptions,但我也需要定位其他的。
发布于 2011-11-22 17:28:10
NullPointerException、ClassCastException和ArithmeticException是一个特例,因为它们不需要显式抛出。但是,其他一切都必须显式抛出。
搜索NullPointerException的可能原因是有用的,因为它是一个常见的错误,但是像所有的RuntimeException一样,最好避免而不是处理它们。搜索所有可能的原因可能会给你一个非常大的结果,这不太可能是有用的。(我自己也经历过这样的练习,在大量的工作之后,并没有取得多大的成就。)
你最好使用代码覆盖率,并尝试边缘用例值,以确保你有很好的测试用例,而这些测试用例可能触发所有可能的异常。
发布于 2011-11-22 17:26:08
如果你只检查你自己的代码,你可以用Checkstyle来做。看看Coding Problems, Illegal Throws检查。
您可以指定任意数量的异常,默认情况下为:java.lang.Throwable, java.lang.Error, java.lang.RuntimeException。
注意:这不会拾取上述异常的子类,它只拾取类本身。它也不会检查您无权访问的源代码,例如,运行时库不会被检查。
发布于 2011-11-22 17:46:26
我确实同意其他答案。因为我不知道你想实现什么,所以我想对你的问题提供一个更直接的答案:
不幸的是,我不知道有什么工具可以做到这一点。抱歉的。根据它对你的重要性,你可以自己投资一些工作。
“手动”检查代码。
在此之后,JDK仍然存在(并且很可能是您正在使用的一些库)。您可以从Oracle下载JDK的源代码。然后,您可以再次对新创建的异常实例进行全文搜索。但是,请注意,即使是这项繁琐的工作也不会给您提供所有可能的来源,因为那里缺少一些方法。
https://stackoverflow.com/questions/8224372
复制相似问题