3

存在しないはずの例外を削除したい。メソッド宣言で削除を許可するパターンが見つかりません。

このコード:

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;
}
4

1 に答える 1

3

検索パターン:

class $Class$ {
  $RetType$ $Method$($ParameterType$ $Parameter$) throws ShouldHaveNeverExisted, $ExceptionType$ {
      $SomeStatement$;
  }
}

交換パターン:

class $Class$ {
  $RetType$ $Method$($ParameterType$ $Parameter$) throws $ExceptionType$ {
      $SomeStatement$;
  }
}

主な注意点は、「変数を編集」し、変数の「この変数は検索の対象です」チェックボックスをオンにすることです(残念ながら$Method$、試行するたびに)。また、 の最大数は無制限にする必要があります。$SomeStatement$

その後、IDEA 11.0.1 は正しく検索します。throws句内の例外の順序についても。また、「Preview Replacement」ボタンをクリックしても正しい結果が表示されます。しかし、実際には見つかったメソッドを削除するだけです。:(

これはバグのようです。誰か確認してください。

ところで。この例外をどこかで取り除きたい場合は、「throws ShouldHaveNeverExisted」を「」で通常の「Edit\Find\Replace in Path Ctrl+Shift+R」に置き換えてみませんか?

または、例外のクラスで Del を押して、「安全な削除 (使用法検索あり)​​」をチェックすることもできます。

于 2012-01-25T12:12:33.597 に答える