第四章 SpringBoot2.0单元测试进阶实战和自定义异常处理
03-5 SpringBoot2.x配置全局异常返回自定义页面
1.SpringBoot搭建测试框架




2.自定义异常
2.1 自定义异常类
package com.lcz.spring_demo7.domain;
/**
* @author : codingchao
* @date : 2021-11-19 16:20
* @Description:
**/
public class MyException extends RuntimeException{
private String code;
private String msg;
public MyException(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
2.2 自定义异常处理类
package com.lcz.spring_demo7.controller;
import com.lcz.spring_demo7.domain.MyException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.ModelAndView;
/**
* @author : codingchao
* @date : 2021-11-19 16:24
* @Description:
**/
@RestControllerAdvice
public class CustomExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(CustomExceptionHandler.class);
@ExceptionHandler(value = MyException.class)
public Object handleMyException(Exception e){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("error.html");
modelAndView.addObject("msg",e.getMessage());
return modelAndView;
}
}
2.3 错误页面
在resources下定义error.html页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>出异常啦</h1>
</body>
</html>
2.4 模拟异常请求
package com.lcz.spring_demo7.controller;
import com.lcz.spring_demo7.domain.MyException;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : codingchao
* @date : 2021-11-19 16:43
* @Description:
**/
@RestController
public class ExceptionHandler {
@GetMapping(value = "/myexception")
public Object myexexception(){
throw new MyException("499","模拟MyExcption异常");
}
}
展示效果:

还有后续工作,大家点赞评论收藏关注走起来!!!学起来!!!
本文介绍如何在SpringBoot2.0中实现全局异常处理并返回自定义页面,包括自定义异常类、异常处理类及错误页面的具体实现。
1177

被折叠的 条评论
为什么被折叠?



