社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
实现 HandlerExceptionResolver
接口的异常处理类,处理全局抛出的异常。
异常处理类 MyExceptinHandler
package com.bb.exception;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
/**
* 全局异常处理器
* @author Administrator
*
*/
@Component
public class MyExceptinHandler implements HandlerExceptionResolver{
/**
* 当有异常发生的时候执行的方法
* 如果不处理 返回null
*/
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
Exception ex) {
ModelAndView mm = new ModelAndView();
if(ex instanceof NullPointerException){
mm.addObject("msg", "NullPointerException ....");
}else if(ex instanceof ArithmeticException){
mm.addObject("msg", "ArithmeticException ....");
}else{
mm.addObject("msg", "其他异常 ....");
}
mm.setViewName("/error.jsp");
return mm;
}
}
测试类
package com.bb.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class UserController {
@RequestMapping("/query1")
public String query1(Integer num) throws NullPointerException {
System.out.println("query1....");
if(num == 1){
// 我们抛出一个异常信息
throw new NullPointerException();
}
return "user.jsp";
}
@RequestMapping("/query2")
public String query2(Integer num) throws ArithmeticException{
System.out.println("query2....");
if(num == 1){
// 我们抛出一个异常信息
throw new ArithmeticException();
}
return "user.jsp";
}
}
测试截图
项目打包 提取码:d495
环境:eclipse
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!