为了在我正在处理的项目中实现一个功能,我不得不从一个方法中抛出一个检查异常,该方法被整个数十个其他类中的数百个其他方法级联使用项目。因此,我必须进行一些繁重的重构,Intellij 会协助我处理像这样的弹出窗口:
现在,虽然这个 intellij 功能非常有用,但必须检查整个代码库仍然花费(对我来说)难以忍受的时间。该任务实际上是非常重复的:
- 检查所有“未报告的异常 XX;必须捕获或声明为抛出”错误。
- 使弹出窗口出现。
- 如果图片中的两个选项都存在,则选择第一个。
- 如果只存在“Surround with try/catch”,则使用它并用我自己的代码替换自动发出的
e.printStackTrace()
调用. - 从第 1 点开始重复,直到不再报告错误。
那么,问题是:有什么方法可以在 IntelliJ 中自动化这个过程吗?
最佳答案
我为此找到的唯一自动化方法是使用重构。在要抛出异常的方法上,选择refactor->change signature。将异常(exception)添加到签名中。选择传播异常的选项,然后选择重构。
然后它应该向所有调用该函数的方法添加 throws 子句。
这适用于少数方法。一百种方法我都没有试过。
不幸的是,我无法得到代码分析,它有一个“修复所有”选项,报告这个错误。如果它确实报告了错误,那么这将是解决所有问题的一种更简单的方法。
关于java - 有没有办法在 Intellij-IDEA 中自动执行重复的重构操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889377/