美文网首页
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