我理解这些是必要的……当然要编写正确的代码,但是有没有一种设计模式可以帮助避免在类中重复尝试… catch块?例如,我编写了一个抛出5个不同异常的特定类.
public void iterateComparatorResults(ArrayList results) throws IOException, IllegalArgumentException, IntrospectionException, IllegalAccessException, InvocationTargetException {
Iterator iterator = results.iterator();
for(int i=0; i
//Set data variables.
setBeans(results.get(i).getClientBean(), results.get(i).getServerBean());
setValues(results.get(i).getClientValue(), results.get(i).getServerValue());
if(results.get(i).isMatch()) {
//Data matches.
runIteratorTrueAction();
} else if(results.get(i).getInnerBeans() != null){
//Value is a nested bean. Iterate again.
ArrayList> innerResults = results.get(i).getInnerBeans();
for(int r=0; r
iterateComparatorResults(innerResults.get(r));
}
} else {
//Data does not match.
runIteratorFalseAction();
}
}
}
每次我引用这个特定的方法是任何其他类,我必须使用看起来像这样的try catch块.
try {
beanComparator.setIteratorFalseAction(falseAction);
beanComparator.iterateComparatorResults(beanComparator.compareBeans(contact, compareContact));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
我希望有一些我可以实现的设计模式,所以我可以创建一个单独的类或其他东西,并在一个地方隐藏所有的try块然后引用该类并使用try块而不必实际编写它们.类似于像Spring这样的其他框架的方式吗?我只是需要一点指示如何做到这一点,因为我甚至不知道从哪里开始.