开发者社区> 问答> 正文

请问在一个多层的JAVA企业项目中,大家是如何设计统一异常处理的?报错

请问在一个多层的JAVA企业项目中,大家是如何设计统一异常处理的?报错

展开
收起
因为相信,所以看见。 2020-05-27 10:04:51 3000 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    "

    我现在暂时是这样处理的,很基础,自己回答下自己的问题算是抛砖引玉吧:

    1、继承RuntimeException的BusinessException,统一作为抛出的异常; 2、定义ErrCode的枚举,定义BusinessException抛出的异常类型; 3、各层抛出的异常,除记录日志等处理外,业务层由Action层(即后台的最上层)统一catch并处理;(包括返回统一的出错页面) 4、普通方法返回的业务异常(程序是正常,但业务分支是错误的),通过返回值中的错误码返回; 5、对上述返回值定义一个CommonResult,包含错误码和回参的HashMap;
    ######

    如果是spring,有ExceptionHandler,定义一个继承RuntimeException的APIException,里面包含不定变量status(HttpStatus),然后抛出的时候throw new APIException(“error_message”,HttpStatus.XXX)

    然后在全局的ExceptionHandler里面捕捉APIException,handler里面做两样东西,1是对error_message的格式化,例如要求json,封装成json,然后带着传过来的Status做Response,如果是返回页面,Spring配置视图解析,然后返回字符串即可

    "
    2020-05-27 17:26:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载