web框架中,有很多异常需要处理,比如业务异常,权限不足等。一般都是使用try...catch进行异常捕捉处理,但是在实际项目中对业务模块进行异常捕捉,会造成代码重复和繁杂。
解决办法:
设立一个全局异常来对框架的所有异常进行统一处理。在可能发生异常的方法throw抛给自定义的异常控制器,然后由全局异常处理器对异常进行统一处理。这样,控制器中的方法可以简洁化。
全局异常处理器:使用@ControllerAdvice注解
package com.association.framework.web.exception; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import
org.springframework.web.bind.annotation.ExceptionHandler; import
org.springframework.web.bind.annotation.RestControllerAdvice; import
com.ruoyi.common.core.domain.AjaxResult; import
com.ruoyi.common.exception.LoginException; /** * 全局异常处理器 * */
@RestControllerAdvice public class GlobalExceptionHandler { private static
final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); /** *
登录异常 */ @ExceptionHandler(LoginException.class) public AjaxResult
loginException(LoginException e) { log.error(e.getMessage(), e); return
AjaxResult.error(e.getMessage()); } }
技术
今日推荐