您提到的类在 Spring MVC DispatcherServlet 的 catch 块中使用,用于将特定异常与处理程序匹配。AFAIK 没有一个类可以使用 vanilla Spring 开箱即用地执行此操作,但是您没有理由不能为您的应用程序创建类似的执行容器:
public interface ExceptionHandler {
public void handle(Exception e);
}
public class ExecutionEnvironment {
private Map<Class, ExceptionHandler> executionHandlers;
public void run() {
try {
// Your app code...
} catch (Exception e) {
if(executionHandlers.get(e.getClass()) != null) {
executionHandlers.get(e.getClass()).handle(e);
} else {
throw new RuntimeException(e);
}
}
}
}
然后使用上下文配置来设置您的异常处理程序。希望这可以帮助。