一、首先自定义异常
@Data
@NoArgsConstructor
public class MyException extends RuntimeException{
private static final String code = "C0001";
private String message;
public MyException(String message) {
super(message);
this.message = message;
}
public String getCode() {
return code;
}
public String getMessage() {
return message;
}
}
二、实现全局异常捕获
@ControllerAdvice
public class GlobalExceptionHandler {
@ResponseBody
@ExceptionHandler(MyException.class)
public ResultVo handlerRuntimeException(MyException e){
return new ResultVo(e.getCode(),e.getMessage());
}
三、将该异常在方法内使用throw抛出,如果在方法上使用throws抛出将不能捕获
public PageResultVo listCate(int pageNum,int rows){
log.info("查询全部分类");
if (pageNum != 2){
throw new MyException();
}
PageHelper.startPage(pageNum,rows);
List<SecCateVo> secCate = cateMapper.getSecCate();
PageInfo pageInfo = new PageInfo(secCate);
return new PageResultVo<>("00000","查询成功",pageInfo.getTotal(),pageInfo.getList());
}