是否可以使用 checkstyle
? 例如,我有这样的代码块
class A {
...
private void method test() {
....
throw new MyCustomException("Some message");
}
}
在这种情况下,我想得到mycustomexception的真实示例。我知道我们可以利用 TokenTypes.LITERAL_NEW
在自定义插件中,但在本例中,我只能获取异常的名称,而不能获取示例类型(我没有此异常类型的地址)。
1条答案
按热度按时间8wigbo561#
因为您想要的是异常的类路径,所以必须模拟java如何从源代码中确定类路径。
这要求您检查导入和包。您无法使用checkstyle完全确定这一点,因为它只查看单个文件,而java实际上查看多个文件夹位置,但您可以非常接近它。
首先查找具有该确切类名的导入。如果没有导入,那么选择是它来自
java.lang
包或正在检查的文件的当前包。你应该建立一个清单java.lang
要自动识别的异常(如果有)。该列表中的任何其他内容都将默认为文件的包声明。如果希望看到示例,checkstyle中有一些检查实现了这个逻辑。