zoukankan      html  css  js  c++  java
  • SpringBoot 默认400,500 异常处理,自定义异常处理

    在resources 目录下 创建 resources/error 即可,浏览器访问会跳转至定义的页面中

    ajax请求自定义异常处理 消息

    UserNotExistException .java
    package com.imooc.exception;
    public class UserNotExistException extends RuntimeException {
    	private static final long serialVersionUID = -6112780192479692859L;
    	
    	private String id;
    	
    	public UserNotExistException(String id) {
    		super("user not exist");
    		this.id = id;
    	}
    
    	public String getId() {
    		return id;
    	}
    
    	public void setId(String id) {
    		this.id = id;
    	}
    
    }
    

      ControllerExceptionHandler .java

    package com.imooc.web.controller;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.http.HttpStatus;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.ResponseStatus;
    import com.imooc.exception.UserNotExistException;
    
    /**
     * 自定义异常处理响应内容
     */
    @ControllerAdvice
    public class ControllerExceptionHandler {
    	// 抛出 UserNotExistException 异常都会被拦截
    	@ExceptionHandler(UserNotExistException.class)
    	@ResponseBody
    	@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    	public Map<String, Object> handleUserNotExistException(UserNotExistException ex) {
    		Map<String, Object> result = new HashMap<>();
    		result.put("id", ex.getId());
    		result.put("message", ex.getMessage());
    		return result;
    	}
    
    }
    

      

    业务逻辑中抛出异常

  • 相关阅读:
    回答提出的问题1-17章
    《构建之法》第13-17章读书笔记
    读《一个程序员的生命周期》有感
    构建之法的第十、十一、十二章读书笔记
    阅读《构建之法》第8,9,10章
    5.2-5.3
    作业5.1测试与封装
    读《构建之法》5.6.7 思考
    读《构建之法》的思考
    作业2 结对思则运算
  • 原文地址:https://www.cnblogs.com/412013cl/p/14050490.html
Copyright © 2011-2022 走看看