[英]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.