如何替换包的所有类中所有方法的catch块中的现有代码?

时间:2019-04-15 06:14:11

标签: java eclipse exception

我们有一个包含很多类的包,每个包都有使用try和catch块的几种方法。我需要更新每种方法的所有catch块中的现有代码。

我们有没有更快的方法或方法来完成与传统复制粘贴相同的操作?

我尝试了查找和替换,但是它不接受两行代码。

2 个答案:

答案 0 :(得分:2)

您将需要一个正则表达式来替换几行。正则表达式将接受两行代码。使用正则表达式替换catch块中的所有代码。

Eclipse支持在“查找/替换”对话框(CTRL + F)中以及从“搜索”->“搜索(CTRL + H)”中使用正则表达式。不要忘记选中“正则表达式”复选框。

enter image description here

答案 1 :(得分:1)

如果确实有很多 catch子句,则 是一个错误,您应该首先解决。捕获异常应该很少见,除了在子系统的边界以及程序的高层或中层进行异常转换以记录对系统操作员有用的消息外,应该很少。也许您认为或已经被告知必须记录每个异常?那是错误的。

请注意,执行异常转换的代码很容易使用IDE进行更改,因为您可以使用其重构功能快速更改类名或添加或删除构造函数参数。

如果 still 有许多具有相同代码的catch子句(除了简单的异常翻译),那么重复将是下一个要解决的问题。将重复的代码提取到一个或多个共享实用程序方法中。因此,您可以在类之间共享这些方法,它们应为static