2012-01-25 1 views
3

Je souhaite supprimer une exception qui n'aurait jamais dû exister. Je ne peux pas trouver le modèle qui permet la suppression dans les déclarations de méthode.Remplacement structurel pour supprimer une exception

Ce code:

public void method1(String param) throws ShouldHaveNeverExisted{ 
    System.out.println("Yo"); 
    //... 
} 

public void method2WithoutParam() throws ShouldHaveNeverExisted{ 
    System.out.println("Yo"); 
    //... 
} 

Faut-il transformer en:

public void method1(String param){ 
    System.out.println("Yo"); 
    //... 
} 

public void method2WithoutParam(){ 
    System.out.println("Yo"); 
    //... 
} 

Le schéma suivant récupérer ce que je veux, mais je ne peux pas trouver le modèle de remplacement correct.

class $Class$ { 
    $ReturnType$ $MethodName$($ParameterType$ $Parameter$) throws ShouldHaveNeverExisted; 
} 

Répondre

3

modèle de recherche:

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

modèle de remplacement:

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

La principale mise en garde est de "variables Modifier" et activez la case "Cette variable est la cible de la recherche" pour $Method$ variable (à chaque essai, unfortunately). Le nombre maximal de $SomeStatement$ doit également être illimité.

IDEA 11.0.1 effectue une recherche correcte. Même pour tout ordre d'exceptions dans la clause throws. Et il montre même le résultat correct sur le bouton "Preview Replacement". Mais en réalité, il suffit de supprimer les méthodes trouvées. :(

Cela semble être un bug. S'il vous plaît, quelqu'un confirmer.

BTW. Si vous se débarrasser de cette exception partout, pourquoi remplacer non seulement « jette ShouldHaveNeverExisted » avec « » avec régulière « Modifier \ Rechercher \ Remplacer dans le chemin Ctrl + Maj + R »?

Ou vous pouvez simplement frapper Del sur la classe d'exception et cochez la case « Safe supprimer (à la recherche d'utilisation) ».

+1

J'ai essayé, mais sans la première et la dernière ligne , l'idée indique que le motif n'est pas supporté !!! Je pourrais résoudre mon problème avec un Ctrl + Shift + R mais je veux progresser sur la recherche structurelle et le remplacer – GaetanZ

+0

J'ai presque réussi à le faire fonctionner. Voir la réponse mise à jour. – Vadzim

+0

@Vadzim avez-vous déjà réussi à le faire fonctionner correctement? Je reçois le même aperçu * est correct, le remplacement réel supprime le comportement de la méthode *. –

Questions connexes