gpt4 book ai didi

java - 如何避免重复复杂的 catch block

转载 作者:太空狗 更新时间:2023-10-29 22:35:09 24 4
gpt4 key购买 nike

我有这个代码:

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 block 放在另一个类似的函数中。避免重复的最佳方法是什么?

请注意,两个 try block 中的代码不是很相似。

此外,我真的不能把渔获物放在更高的位置。

请注意,我宁愿避免:

try {
do_stuff();
return do_more_stuff();
} catch (Exception e) {
handle_exception_via_rtti(e);
}

最佳答案

我个人会尝试制作

do_stuff();
return do_more_stuff();

部分符合更通用的格式,以便应用策略(作为模式)。

然后你可以重构你调用这种 block 的所有地方,这样它们就可以调用一个更通用的 block (捕获只放置一次的地方)。

关于java - 如何避免重复复杂的 catch block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com