SpringMVC 統一處理exception

jopen 9年前發布 | 19K 次閱讀 SpringMVC Spring MVC Web框架

用 @ExceptionHandler注解實現異常統一處理:

public class BaseController {

private static final Logger logger = LoggerFactory.getLogger(BaseController.class);

@ExceptionHandler(Exception.class)
@ResponseBody

protected ResponseVo handleException(Exception e) {
    logger.error(e.getMessage(), e);
    if (e instanceof HttpMessageNotReadableException ||
            e instanceof NumberFormatException ||
            e instanceof InvalidPropertyException){
        return new ResponseVo(ResponseStatus.DATA_PARSE_ERROR.VALUE, e.getLocalizedMessage());
    } else if (e instanceof NoticeException) {
        return new ResponseVo(ResponseStatus.FORBIDDEN.VALUE, e.getMessage());
    }
    return new ResponseVo(ResponseStatus.ERROR.VALUE,e.getLocalizedMessage());
}

}</pre>
如果程序異常會被捕獲,接下來響應的數據就可以自己定義了

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!