美文网首页
Spring Boot 全局异常捕捉,自定义异常并统一返回

Spring Boot 全局异常捕捉,自定义异常并统一返回

作者: java菜 | 来源:发表于2019-06-14 17:21 被阅读0次

    下面代码可直接拷在项目内运行即可,MessageResult类为一个统一返回类

    /**

    * 自定义异常处理器

    * @author 问梦杀帝

    *

    */

    @RestControllerAdvice

    public class ExceptionController {

    private static final Logger log = LoggerFactory.getLogger(ExceptionController.class);

    MessageResult result = new MessageResult();

    /**

    * 请求方式不支持

    */

    @ExceptionHandler({ HttpRequestMethodNotSupportedException.class })

    public MessageResult handleException(HttpRequestMethodNotSupportedException e) {

    log.error(e.getMessage(), e);

    result.setResultCode(500);

    result.setResultMessage("不支持' " + e.getMethod() + "'请求");

    return result;

    }

    /**

    * 拦截未知的运行时异常

    */

    @ExceptionHandler(RuntimeException.class)

    public MessageResult notFount(RuntimeException e) {

    log.error("运行时异常:", e);

    result.setResultCode(500);

    result.setResultMessage("运行时异常:" + e.getMessage());

    return result;

    }

    /**

    * 系统异常

    */

    @ExceptionHandler(Exception.class)

    public MessageResult handleException(Exception e) {

    log.error(e.getMessage(), e);

    result.setResultCode(500);

    result.setResultMessage("服务器错误,请联系管理员");

    return result;

    }

    }

    欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 721575865

    群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

    相关文章

      网友评论

          本文标题:Spring Boot 全局异常捕捉,自定义异常并统一返回

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