在Java中提取几种方法的常见异常处理代码

我在一个具有相同异常处理的类中有一些私有方法.它们的正文代码引发了相同的异常类型,代码处理也是一样的.

private void method1() {
  try {
     //make_the_world_a_better_place
  }
  catch(IOException ioe) {
     // ...
  }
}

private boolean method2(String str) {
  try {
     //make_a_cheesecake
  }
  catch(IOException ioe) {
     // ...
  }
}

哪个是外部化常见异常处理的最佳方法,所以当我对其中一个方法的异常处理代码进行更改时,更改会传播到其他方法?模板方法模式在这种情况下会很方便,但我不想深入到类层次结构中.

编辑:有几个catch子句,不仅仅是示例中的一个.

最佳答案
创建一个界面:

public interface Executor {

  void exec() throws Exception;

}

在你班上:

checkForExceptions(new Executor() {

  @Override
  public exex() throws Exception {

    method1();

  }

});

private void checkForExceptions(Executor ex) {
try {
  ex.exec();
} catch (Exception e) [
  /// handling
}

转载注明原文:在Java中提取几种方法的常见异常处理代码 - 代码日志