SSM异常统一处理

Posted SmallCuteMonkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM异常统一处理相关的知识,希望对你有一定的参考价值。

@ExcepHandler异常局部处理的注解,只可以处理一个Controller的异常,不可以同时处理两个Conroller的异常。
@ControllerAdvice 异常全局处理的注解,里面加上注解**@ExceptionHandler(Exception.class)**,就可以处理全部的异常
ErrorController:

package com.zjj.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller

public class ErrorController {
    @RequestMapping("error")
    @ResponseBody

    public String sayHello(){

        int i=1/0;
        return "Runtime.....";
    }

    @ResponseBody
    @ExceptionHandler(RuntimeException.class) //这个是局部异常处理,这里也可以写成RuntimeException.class
    public String error1(){


        return "Runtime.....";
    }
}

ErrorController01:

package com.zjj.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
public class ErrorController01 {
    @RequestMapping("error1")
    public String say(){
        int i=1/0;
        return "hello";
    }
}

GlobalErrorController:

package com.zjj.controller;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice//这个是全局错误处理的注解
public class GlobalErrorHandler {

    @ResponseBody
    @ExceptionHandler(Exception.class)
    public String ErrorHandle(){

        return "error";

    }
}

以上是关于SSM异常统一处理的主要内容,如果未能解决你的问题,请参考以下文章

Spring中的统一异常处理方式

博客项目- SSM 实现

每日总结的链接

每日总结的链接

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

开发之统一异常处理