В каком-то старом 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. Но тогда все вызовы должны проходить через этот метод.
Есть идеи?