Структурная замена удалить исключение - PullRequest
3 голосов
/ 25 января 2012

Я хочу удалить исключение, которого никогда не должно было быть.Я не могу найти шаблон, который позволяет удалять в объявлениях метода.

Этот код:

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

1 Ответ

3 голосов
/ 25 января 2012

Шаблон поиска:

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 предложении. И даже показывает правильный результат при нажатии кнопки «Просмотр замены». Но тогда на самом деле просто удаляет найденные методы. (

Это похоже на ошибку. Пожалуйста, кто-нибудь подтвердит.

КСТАТИ. Если вы куда-то избавляетесь от этого исключения, почему бы просто не заменить «throws ShouldHaveNeverExisted» на «» обычными «Edit \ Find \ Replace in Path Ctrl + Shift + R»?

Или вы можете просто нажать Del в классе исключения и проверить «Безопасное удаление (с поиском использования)».

...