Это анти-шаблон для обработки исключений в отдельном методе?
Скажем, у меня есть метод, который выполняет какой-то низкоуровневый ввод-вывод и может вызвать IOException, и у меня есть метод foo (), которыйвызывает метод ввода-вывода низкого уровня несколько раз.Имеет ли смысл выполнять обработку исключений в третьем методе, например так:
public void foo() throws MyCheckedException {
// some stuff
goDoSomeIO(path1)
// some other stuff
goDoSomeIO(path2)
// some more stuff
goDoSomeIO(path3)
}
private String goDoSomeIO(String filePath) throws MyCheckedException {
try {
doSomeIO(filePath);
} catch (IOException ioe) {
LOG.error("Io failed at: " + filePath);
throw new MyCheckedException("Process failed because io failed", ioe)
}
}
private String doSomeIO(String filepath) throws IOException {
//io stuff
}
Я считаю, что это более читабельно, чем если бы метод doSomeIO выполнял свою собственную обработку исключений или если исключениеобработка происходит в Foo.