Как упростить класс с множеством скопированных кодов обработки ошибок?

В каком-то старом коде Java я нашел класс, который содержит множество методов, использующих один и тот же код обработки ошибок (try-catch с большим количеством обработки ошибок, протоколированием и т. Д. ). Похоже, что первый метод был просто скопирован, а затем код в блоке try был немного адаптирован.Вот как это в основном выглядит:

public class myClass{

    public void doSomething() {
        try {
           //do something
        } catch (Exception e) {
          //extensive error handling
        }
    }

    public void doSomethingElse() {
        try {
           //do something else
        } catch (Exception e) {
          //extensive error handling, copy-pasted from the above method
        }
    }

}

Как это можно упростить? Я не хочу менять интерфейс класса (сильно), я просто хотел бы избавиться от скопированных блоков catch, чтобы в исходном методе оставался только код из блока try.

Я думал об использовании шаблона Factory Method, в котором один метод реализует обработку ошибок и вызывает исходный метод в блоке try. Но тогда все вызовы должны проходить через этот метод.

Есть идеи?

5
задан mort 9 February 2012 в 11:04
поделиться