2012-01-25 8 views
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; 
} 

答えて

3

検索パターン:

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節の例外の順序についても。また、「プレビュー置換」ボタンをクリックしても正しい結果が表示されます。 しかし、実際には見つかったメソッドを削除するだけです。 :(

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

をところであなたはどこにもこの例外を取り払うしているなら、なぜ単に編集「通常のと」」と「ShouldHaveNeverExistedをスロー」交換しないで\パスに置き換えます\検索はCtrl + + Rシフト」?

をそれとも、ただ例外のクラスにデルを打つことができ、チェック 『セーフ』(使用検索で)削除します。

+1

私が試したが、最初と最後の行なし、アイデアは、パターンがサポートされていないことを示しています!私はCtrl + Shift + Rで私の問題を解決することができますが、私は構造的な検索と置換を進めたい。 – GaetanZ

+0

私はほとんどそれを動作させるために管理してきました。更新された回答を参照してください。 – Vadzim

+0

@ Vadzimこれは正しく動作するようになりましたか?私は同じ*プレビューが正しいことを得ています、実際の置換はメソッド*の動作を削除します。 –