我有这样的代码:
try {
do_stuff();
return do_more_stuff();
} catch (UnsupportedEncodingException e) {
throw CustomException.programmer_error(e);
} catch (ProtocolException e) {
throw CustomException.programmer_error(e);
} catch (MalformedURLException e) {
throw CustomException.programmer_error(e);
} catch (SocketTimeoutException e) {
throw new CustomException(e);
} catch (IOException e) {
throw CustomException.unexpected_error(e);
}
我现在需要将所有这些catch块放在另一个类似的函数中。在这里避免重复的最好方法是什么?
请注意,两个try块中的代码并不十分相似。
另外,我真的不能把捕获物放在更高的位置。
注意,我更倾向于避免:
try {
do_stuff();
return do_more_stuff();
} catch (Exception e) {
handle_exception_via_rtti(e);
}
https://stackoverflow.com/questions/2272714
复制相似问题