使用springboot的全局异常处理机制
这是我第一次学习使用spring boot全局异常处理机制,分享一点儿经验给大家
1.编写全局异常处理类
@ControllerAdvice
public class GlobalExceptionHandler {
/**
* 默认异常处理方法
*
* @author pcitc 2018-5-1
* @param request 请求Request
* @param response 请求Reponse
* @param exception 异常信息
* @throws Exception
*/
@ExceptionHandler(value = MyException.class)
public void defaultErrorHandler(HttpServletRequest request, HttpServletResponse response, Exception exception)
throws Exception {
CommonResult commonResult = new CommonResult();
// 判断异常信息类型
if (exception.getClass().getTypeName() == "java.lang.NullPointerException") {
commonResult.setMessage("对象为null");
} else {
commonResult.setMessage(exception.getMessage());
}
// 输出异常的堆栈信息
exception.printStackTrace();
// 构造错误返回值
String collecionResult = RestfulTool.buildCollection(new ErrorInfo("", "00", commonResult.getMessage()),
request.