前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC统一异常处理

SpringMVC统一异常处理

作者头像
一灰灰blog
发布2018-02-06 16:41:30
4400
发布2018-02-06 16:41:30
举报
文章被收录于专栏:小灰灰小灰灰

统一异常拦截处理方式

项目中不可避免会出现一些异常情况,而一个web项目,若不拦截异常,糟糕的情况下可能直接将堆栈抛给前端,从而导致各种鬼畜的问题

I. 借助@ControllerAdvice拦截异常

给一个简单的demo,便可以很容易的了解这种手段如何处理了

@ControllerAdvice
@Slf4j
@ResponseBody
public class ActionExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    public String defaultHandler(HttpServletRequest request, Exception e) {
        log.error("unexpected exception! request: {}, params: {} refer: {}, e: {}",
                request.getRequestURI(),
                request.getParameterMap(),
                request.getHeader("referer"),
                e);

        if (StringUtils.isBlank(e.getMessage())) {
            return ResponseWrapper.errorReturn(new Status(500, "内部异常"));
        } else {
            return ResponseWrapper.errorReturn(new Status(500, e.getMessage()));
        }
    }
}

这里主要借助两个注解来实现,ControllerAdvice 和 ExceptionHandler

II. 其他

声明

尽信书则不如,已上内容,纯属一家之言,因本人能力一般,见解不全,如有问题,欢迎批评指正

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 统一异常拦截处理方式
    • I. 借助@ControllerAdvice拦截异常
      • II. 其他
        • 声明
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档