我正在使用Spring应用程序,我想以下列方式实现异常处理: 为转移该异常的特定异常类型实现Aspect类 具有基于异常类型层次结构的此类方面类,并实现类似行为的catch块 例如, 有两个方面类:Exception的ExceptionHandler和SQLException的SQLExceptionHandler 它们都是完全相同的切入点表达式。 现在,如果从点表达式中涉及的任何方法引发SQLException,则应执行SQLExceptionHandler的方法。 如果发生FileNotFoundException或任何其他类型的异常,则应执行ExceptionHandler的方法。 任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试扩展OncePerRequestFilter
类并覆盖doFilterInternal
方法。像下面这样的东西可以解决问题:
public void doFilterInternal(final HttpServletRequest request, final HttpServletResponse response,
final FilterChain filterChain) throws ServletException, IOException {
try {
filterChain.doFilter(request, response);
} catch (ExceptionType1 e) {
// Any exception thrown from your code can be handled or retrhown from here.
} catch (ExceptionType2 e) {
// Any exception thrown from your code can be handled or retrhown from here.
} catch ......
}