Springboot:全局异常处理(包括404异常,业务异常)
2019-06-17 13:37
429 查看
全局异常处理
1、业务异常类
创建业务异常类,用来处理业务中遇到的一些异常。
import java.io.Serializable; public class ServiceException extends RuntimeException implements Serializable { private static final long serialVersionUID = 1213855733833039552L; public ServiceException() { } public ServiceException(String message) { super(message); } public ServiceException(String message, Throwable cause) { super(message, cause); } }
2、全局异常处理类
@ExceptionHandler(value = “报错类型”):这个是用来绑定报错类型的,只有对应的类型才会使用该方法进行处理。
@ResponseBody:如果没有这个注解,程序默认的返回值是跳转的路径(例如返回"result",则程序默认以为是跳转到result.jsp这个页面),而我们返回的经常是一些数据,所以就需要添加这个注释告诉程序我们返回的是data。
import org.springframework.web.bind.annotation.*; @ControllerAdvice public class GlobalException { //全局异常捕捉处理 @ResponseBody @ExceptionHandler(value = Exception.class) public String errorHandler(Exception ex) { //自定义异常处理 ex.printStackTrace(); return ex.getMessage(); } // 全局业务异常捕捉处理 @ResponseBody @ExceptionHandler(value = ServiceException.class) public String serviceErrorHandler(ServiceException ex) { //自定义业务异常处理 return ex.getMessage(); } }
3、404异常
全局异常处理捕获不到404错误,所以需要专门写一个类用来处理404异常。
import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class NotFoundException implements ErrorController { private static final String ERROR_PATH = "/error"; @Override public String getErrorPath() { return ERROR_PATH; } @RequestMapping(ERROR_PATH) public String error(){ return "接口不存在!"; } }
相关文章推荐
- 使用springBoot的全局异常处理来处理,参数校验、业务的异常
- SpringBoot的全局异常处理
- SpringBoot入门-7(全局异常处理)
- Spring MVC 全局异常处理-RESTAPI接口返回统一JSON格式-自定义异常处理--404异常捕捉
- SSM中异常怎么处理,包括io,net,业务异常?
- springboot全局异常处理
- springboot学习-全局异常处理
- springboot(4) 项目中全局异常的处理
- SpringBoot全局异常处理
- 使用springboot的全局异常处理机制
- 谈ASP.NET全局异常处理与假窗口提示
- struts2全局异常处理及配合log4j进行异常日志记录
- Spring Boot全局异常处理解析
- Spring Boot 全局异常处理 与 Hibernate Validator校验框架整合
- 获取手机型号、系统版本号、APP版本号信息(常用语全局异常处理中收集错误信息)
- springMVC --全局异常处理(两种方式)
- android 处理程序全局异常和错误
- spring mvc 全局异常处理
- 导入Excel出错引出两类异常——数据库异常和业务异常处理方式
- 全局异常处理