我想删除一个本不应该存在的异常。我在方法声明中找不到允许删除的模式。
这段代码:
public void method1(String param) throws ShouldHaveNeverExisted{
System.out.println("Yo");
//...
}
public void method2WithoutParam() throws ShouldHaveNeverExisted{
System.out.println("Yo");
//...
}
应该转换成:
public void method1(String param){
System.out.println("Yo");
//...
}
public void method2WithoutParam(){
System.out.println("Yo");
//...
}
以下模式检索我想要的但我找不到正确的替换模式。
class $Class$ {
$ReturnType$ $MethodName$($ParameterType$ $Parameter$) throws ShouldHaveNeverExisted;
}
最佳答案
搜索模式:
class $Class$ {
$RetType$ $Method$($ParameterType$ $Parameter$) throws ShouldHaveNeverExisted, $ExceptionType$ {
$SomeStatement$;
}
}
替换模式:
class $Class$ {
$RetType$ $Method$($ParameterType$ $Parameter$) throws $ExceptionType$ {
$SomeStatement$;
}
}
主要注意事项是“编辑变量”并为 $Method$
变量打开“此变量是搜索目标”复选框(每次尝试,unfortunately)。此外,$SomeStatement$
的最大计数必须是无限的。
然后 IDEA 11.0.1 会正确搜索。即使对于 throws
子句中的任何异常顺序。它甚至在单击“预览替换”按钮时显示正确的结果。
但实际上只是删除了找到的方法。 :(
这似乎是一个错误。请有人确认。
顺便说一句。如果您要在任何地方摆脱此异常,为什么不将“throws ShouldHaveNeverExisted”替换为常规的“Edit\Find\Replace in Path Ctrl+Shift+R”?
或者您可以在异常类上按 Del 并选中“安全删除(使用搜索)”。
关于java - 结构替换以删除异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9002171/