美文网首页
2020-02-14 理解异常 抛出在接口实现中

2020-02-14 理解异常 抛出在接口实现中

作者: 很菜的花椰菜 | 来源:发表于2020-02-14 19:48 被阅读0次

最近一个项目,有关于接口开发
然后最后接口返回的出参数大概是这样
如果错误根据错误类型返回几个值

1、"NULL_ARGUMENT", "参数为空"

2、"ILLEGAL_ARGUMENT","非法参数"

3、"SYSTEM_FAILURE", "系统错误"

4、“TOKEN_TIME_OUT”,“token超时”

然后有一个模板类

   try {
            result.setSuccess(false);
            action.validate();
            action.execute();
            action.after();
            action.afterTransaction();
            result.setSuccess(true);
            result.setErrorCode(OauthErrorCodeEnum.SUCCESS.getCode());
            result.setErrorMessage(OauthErrorCodeEnum.SUCCESS.getMessage());
        } catch (OauthException ope) {
            result.setErrorCode(ope.getCode().getCode());
            result.setErrorMessage(ope.getMessage());
        } catch (Exception e) {
            logger.error("【操作处理发生未知异常。】", e);
            result.setErrorCode(OauthErrorCodeEnum.SYSTEM_FAILURE.getCode());
            result.setErrorMessage(OauthErrorCodeEnum.SYSTEM_FAILURE.getMessage());
        }

模板类中帮你set了一个异常,然后其他的是你自己定义的模板类获取到的,所以其他三个都必须你控制什么情况下在哪抛出,千万别忘记情况或者遗漏
在写代码时一定要逻辑清晰,知道哪个情况下成功,失败会返回什么样子的后果,有些你只处理了成功,没有处理失败就会遗漏情况
还有的时候你看代码逻辑调用,是一层内的关系这个要好好理解,因为调用完的结果还会回到这一个层中
还要好好理解 SingleResult<T> 这种结构中T的使用
如果是一个data,一般来说就是一个对象了,所以你要创造一个对象

相关文章

网友评论

      本文标题:2020-02-14 理解异常 抛出在接口实现中

      本文链接:https://www.haomeiwen.com/subject/nvbjfhtx.html