//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
}
答案 0 :(得分:2)
我所做的主要改进是存储所有发生的异常,并以某种方式使它们可用。否则,似乎很好。
对于持怀疑态度的人来说,即使发生异常,也不想完成某些工作。批处理是一个非常典型的案例。
答案 1 :(得分:0)
除了使throws
子句正确等等之外,没有任何技术上的错误。您甚至可以保存其中一个捕获的异常并重新抛出它。
不清楚你为什么要这样做,但我做得更奇怪。