繁体   English   中英

Spring中的自定义异常处理/错误处理

[英]Custom Exception Handling/Error Handling in Spring

我的应用程序-Java 1.6,Spring 3.1.2,Hibernate 4.1.1,Thymeleaf 2.0.15当前,在我的应用程序中,没有实现任何exception/error处理机制。 我以普通的文化方式处理异常。 但是现在我需要介绍一个"Robust Error Handling Mechanism" 请建议我使用示例实现自定义错误/异常处理机制。

感谢和感谢您这样的专家。

作为回答,我将使其更易于格式化。 当您说“但是我需要实现一些通用的自定义异常,以便在应用程序中抛出相同的异常时”。 它是我的理解方式,也是@ControllerAdvice直接处理的内容,但仅适用于Controllers。 再一次,您所有的下层都可以在方法上声明throws ,并将其委托给Controller进行异常处理。 例如,以下是处理您的自定义异常的错误处理控制器

@ControllerAdvice
public class GlobalErrorHandler {

    @ExceptionHandler(value = VermaException.class)
    @ResponseBody
    public String heightError(VermaException ex) {
        return "error";
    }

}

你的例外

public class VermaException extends Exception {
}

现在,无论何时从控制器类引发异常,都将在您的GlobalErrorHandler中捕获并处理该异常

再次粘贴参考http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

评论后更新

@ControllerAdvice在版本3.2中添加,对于较早的版本,您可以通过控制器扩展CommonController,其中包含错误处理程序方法,例如,每个控制器解决方案

@Controller
public class CommonController {

    @ExceptionHandler
    public @ResponseBody String handle(VermaException e) {
        return "error";
    }
}

扩展的扭曲

@Controller
public class ExceptionController extends CommonController {

    @RequestMapping("/exception")
    public @ResponseBody String exception() {
        throw new VermaException();
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM