首页 > 解决方案 > 例外情况下使用策略模式好吗?

问题描述

process() {
     try {

        var a1 = service1.process();

        var a2 = service2.process(a1);
   
        var a3 = a2.process();

        var a4 = a3.process1();
        var a5 = a3.process2();

        return a4.process(a5);

   } catch(Exception ex) {

      var result = ex.getContext();

      return result.process();
   }
}

我的想法是尽量避免 ifs-else。catch 可以使用通用对象并使用具体实例。我认为这是一种策略模式。我不知道在异常中使用该模式是否好。当某个子进程抛出异常时,在这种情况下,不一定是错误或异常,而只是另一种处理方式,一种打破正常“进程链”或默认“进程链”的方式。

对此有何建议?

标签: javatry-catchstrategy-pattern

解决方案


推荐阅读