package com.xs.handle;
import com.xs.controller.GirlController;
import com.xs.domain.Girl;
import com.xs.domain.Result;
import com.xs.exception.GirlException;
import com.xs.utils.ResultUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 直接在右边的文件框里编辑你说需要注释的东西,
* 然后应用保存之后,当你创建类的时候就会自动生成注释。
*/
@ControllerAdvice
public class ExceptionHandle {
//像这种定义一个自己的异常,程序里面抛异常就抛自己定义的这个来区分开,这样比较方便管理(推荐)
//思考:异常的统一处理跟维护怎么办?
//这里用到了枚举
//记录异常
private final static Logger logger = LoggerFactory.getLogger(ExceptionHandle.class);
//总结C:写一个捕获异常的类,并返回一个异常对象,最后我们又把code跟msg定义为枚举来统一管理天到总结D:ResultEnum类
@ExceptionHandler(value = Exception.class) //申明要捕获的异常类
@ResponseBody //由于我们返回给浏览器那边是一个json格式,又没有一个restcontroller,所以这里要这个标签
public Result handle(Exception e){
//判断传过来的异常是不是GirlException或者它的子类:
// 这里就像 Dog extends Animal 不能是 Animal extends Animal Dog
if(e instanceof GirlException){
GirlException girlException = (GirlException) e;
return ResultUtil.error(girlException.getCode(),girlException.getMessage());
}else {
logger.error("[系统异常 {}",e);
return ResultUtil.error(-1,"未知错误");
}
}
}
import com.xs.controller.GirlController;
import com.xs.domain.Girl;
import com.xs.domain.Result;
import com.xs.exception.GirlException;
import com.xs.utils.ResultUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 直接在右边的文件框里编辑你说需要注释的东西,
* 然后应用保存之后,当你创建类的时候就会自动生成注释。
*/
@ControllerAdvice
public class ExceptionHandle {
//像这种定义一个自己的异常,程序里面抛异常就抛自己定义的这个来区分开,这样比较方便管理(推荐)
//思考:异常的统一处理跟维护怎么办?
//这里用到了枚举
//记录异常
private final static Logger logger = LoggerFactory.getLogger(ExceptionHandle.class);
//总结C:写一个捕获异常的类,并返回一个异常对象,最后我们又把code跟msg定义为枚举来统一管理天到总结D:ResultEnum类
@ExceptionHandler(value = Exception.class) //申明要捕获的异常类
@ResponseBody //由于我们返回给浏览器那边是一个json格式,又没有一个restcontroller,所以这里要这个标签
public Result handle(Exception e){
//判断传过来的异常是不是GirlException或者它的子类:
// 这里就像 Dog extends Animal 不能是 Animal extends Animal Dog
if(e instanceof GirlException){
GirlException girlException = (GirlException) e;
return ResultUtil.error(girlException.getCode(),girlException.getMessage());
}else {
logger.error("[系统异常 {}",e);
return ResultUtil.error(-1,"未知错误");
}
}
}