gpt4 book ai didi

java - 每一步后检查错误值

转载 作者:行者123 更新时间:2023-12-01 23:53:01 25 4
gpt4 key购买 nike

我有以下 Java 方法:

public ERROR myMainMethod() {
ERROR ret = invokeFirstSub();
if (ret != ERROR.NO_ERROR) {
return ret;
}
ret = invokeSecondSub();
if (ret != ERROR.NO_ERROR) {
return ret;
}
// you get the rest
}

基本上,在每次子调用之后,我们都会检查返回值,并在发生任何错误时退出。如何重构?第一个想法是将整个调用序列放入 try-catch 循环中,使用断言并捕获第一个 AssertionError,但我觉得它不太优雅。什么是好的做法?

最佳答案

基于重构良好实践,有两个可能的改进:

  1. 避免多个 return 语句(对于具有许多 return 语句的大型方法来说,代码可读性较差)

  2. 尽可能封装逻辑,即将错误检查逻辑作为 ERROR 枚举中的方法 isError() 移动

    公共(public)错误 myMainMethod() {

    错误ret = invokeFirstSub();

    ret = (ret.isError()) ? ret : invokeSecondSub();

    ret = (ret.isError()) ? ret : invokeThirdSub();

    //依此类推,最后

    ret = (ret.isError()) ? ret : ERROR.NO_ERROR;

    //剩下的就交给你了

    返回ret;}

此外,如上所述,策略模式可能适合您的情况,根据您的情况管理每个类别的一个子或一类中的所有子。

关于java - 每一步后检查错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16080638/

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