异常处理继续出错,然后重新抛出

时间:2011-09-27 23:23:31

标签: java exception-handling

     //Assume list1 and list2 are populated with states as 2
    foo (List<Class1> list1, List <Class1> list2) {

         boolean error = false;
          try {
             operate on list1
         } catch (Exception e) {
              error = true;
             //Modify list1 objects to state 1
        }

          try {
             operate on list2
         } catch (Exception e) {
              error = true;
             //Modify list2 objects to state 1
         }

        //What are the problems and what is the best practice for this
         if (error)
             throw new Exception(…);  //How should i really rethrow the exception

    }

2 个答案:

答案 0 :(得分:2)

我所做的主要改进是存储所有发生的异常,并以某种方式使它们可用。否则,似乎很好。

对于持怀疑态度的人来说,即使发生异常,也不想完成某些工作。批处理是一个非常典型的案例。

答案 1 :(得分:0)

除了使throws子句正确等等之外,没有任何技术上的错误。您甚至可以保存其中一个捕获的异常并重新抛出它。

不清楚你为什么要这样做,但我做得更奇怪。