我正在使用 spring 的 @ControllerAdvice 和 @ExceptionHandler 进行异常处理。任何方法都会从 Controller 抛出自定义异常,并由相应的 @ExceptionHandler 处理它。如果发生运行时异常(例如任何 HibernateException),那么它将抛出运行时异常,并且我没有任何 @ExceptionHandler 用于运行时异常。
我的问题是如何处理任何运行时异常?我需要为控制器抛出的每个异常添加@ExceptionHandler 吗?我不想为 Exception.class 创建一个 Generic ExceptionHandler,因为我必须根据发生的异常发送不同的错误代码。
一种方法是在 Controller 中添加 try catch 块,然后从 catch 块中抛出自定义异常?还是有其他更好的方法?
所有@ExceptionHandlers 都在@ControllerAdvice 类中。