开发者社区> 问答> 正文

关于dubbo异常处理

关于 dubbo 异常处理,「阿里巴巴 Java 开发手册」建议 RPC 使用 Result 进行封装,只返回错误码和简短错误信息。而 「dubbo 官网最佳实践」建议携带异常,可以查看更多信息。各位在工作中是怎么实践的?

展开
收起
景凌凯 2020-04-24 23:33:14 1143 0
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    • 们的做法是自己封装了一组异常,其中,业务异常和运行时异常是分开的。对于,业务异常,我们用不是封装的 Result。对于,运行时异常,我们记录日志,然后返回一个统一的异常,不需要堆栈。自定义的业务异常直接抛出,代码运行时异常包装成一个统一的异常抛出,堆栈信息不包含在里面,通过日志输出定位问题时查看日志来确定。
    • 我们的做法是遵守「阿里巴巴 Java 开发手册」,调用优先考虑使用 isSuccess() 方法、“错误码”、“错误简短信息”。

    public Result getXxx(String param) {

    try {
    
        // ...
    
        return Result.create(xxxDTO);
    
    } catch (XxxException e) {
    
        log.error("...", e);
    
        return Result.createErrorResult(e.getErrorCode(), e.getErrorInfo(), true);
    
    }
    

    }

    2020-04-24 23:33:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
What's new in Dubbo 2.7.6 立即下载
Dubbo 2.7.6 新特性 立即下载
Apache Dubbo3 源码深入解读 立即下载