gpt4 book ai didi

java - 使用 Spring 记录异常

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:09 25 4
gpt4 key购买 nike

我听说可以在我的网络应用程序中使用 Spring 记录(或执行其他操作)异常,因此我不必在每个“catch(){}” block 中手动插入日志函数.

有人有 Spring-overall-logging 的经验吗?我只是想在出现错误时得到通知

最佳答案

ExceptionHandler 是处理 Faces 生命周期期间引发的意外异常的中心点。不得向 ExceptionHandler 通知应用程序启动或关闭期间发生的任何异常。

有关默认实现的要求,请参阅规范散文文档。异常可以通过以下两种方式之一传递给 ExceptionHandler:

1.)确保异常不被捕获,或者被捕获并重新抛出。

此方法允许 JSF.6.2 节中指定的 ExceptionHandler 工具对异常进行操作。

2.)通过使用系统事件工具来发布包装异常的ExceptionQueuedEvent。

此方法需要手动发布 ExceptionQueuedEvent,但允许在事件中存储有关异常的更多信息。以下代码是如何执行此操作的示例。

全局异常处理程序 – 异常处理是一个横切关注点,应该对我们应用程序中的所有切入点进行处理。我们已经研究了 Spring AOP,这就是 Spring 提供 @ControllerAdvice 注释的原因,我们可以将其与任何类一起使用来定义全局异常处理程序。

全局 Controller 建议中的处理程序方法与基于 Controller 的异常处理程序方法相同,并在 Controller 类无法处理异常时使用。

示例代码

@ExceptionHandler(Exception.class)
public ModelAndView getExceptionPage(Exception e, HttpServletRequest request) {
request.setAttribute("errorMessageObject", e.toString());
return model;
}

** 在这里我们可以捕获基本异常类Exception.class或任何其他异常类。我们还可以抛出和捕获我们自己自定义的异常类。

关于java - 使用 Spring 记录异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24489719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com