首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java项目中找到可能抛出RuntimeException的所有位置?

如何在Java项目中找到可能抛出RuntimeException的所有位置?
EN

Stack Overflow用户
提问于 2011-11-22 17:16:44
回答 3查看 145关注 0票数 2

我有一个java项目,我想要在源代码中可能抛出RuntimeException的位置的列表。有没有什么工具或Eclipse插件可以做到这一点?

使用FindBugs或PMD可能会定位到NullPointerExceptions,但我也需要定位其他的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-22 17:28:10

NullPointerException、ClassCastException和ArithmeticException是一个特例,因为它们不需要显式抛出。但是,其他一切都必须显式抛出。

搜索NullPointerException的可能原因是有用的,因为它是一个常见的错误,但是像所有的RuntimeException一样,最好避免而不是处理它们。搜索所有可能的原因可能会给你一个非常大的结果,这不太可能是有用的。(我自己也经历过这样的练习,在大量的工作之后,并没有取得多大的成就。)

你最好使用代码覆盖率,并尝试边缘用例值,以确保你有很好的测试用例,而这些测试用例可能触发所有可能的异常。

票数 2
EN

Stack Overflow用户

发布于 2011-11-22 17:26:08

如果你只检查你自己的代码,你可以用Checkstyle来做。看看Coding Problems, Illegal Throws检查。

您可以指定任意数量的异常,默认情况下为:java.lang.Throwable, java.lang.Error, java.lang.RuntimeException

注意:这不会拾取上述异常的子类,它只拾取类本身。它也不会检查您无权访问的源代码,例如,运行时库不会被检查。

票数 0
EN

Stack Overflow用户

发布于 2011-11-22 17:46:26

我确实同意其他答案。因为我不知道你想实现什么,所以我想对你的问题提供一个更直接的答案:

不幸的是,我不知道有什么工具可以做到这一点。抱歉的。根据它对你的重要性,你可以自己投资一些工作。

“手动”检查代码。

在此之后,JDK仍然存在(并且很可能是您正在使用的一些库)。您可以从Oracle下载JDK的源代码。然后,您可以再次对新创建的异常实例进行全文搜索。但是,请注意,即使是这项繁琐的工作也不会给您提供所有可能的来源,因为那里缺少一些方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8224372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档