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