From 5cb990c2707cc0c32772c4e06e6ee5785dc88ae3 Mon Sep 17 00:00:00 2001 From: wu xiangkai Date: Tue, 20 Dec 2022 20:00:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring/Spring core/SpringMVC.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spring/Spring core/SpringMVC.md b/spring/Spring core/SpringMVC.md index e6260df..9378e72 100644 --- a/spring/Spring core/SpringMVC.md +++ b/spring/Spring core/SpringMVC.md @@ -577,4 +577,18 @@ public class SimpleController { } } ``` +该异常参数会匹配被抛出的顶层异常(例如,被直接抛出的IOException),也会匹配被包装的内层cause(例如,被包装在IllegalStateException中的IOException)。**该参数会匹配任一层级的cause。** +> 只要@ExceptionHandler方法的异常参数类型匹配异常抛出stacktrace中任一层次的异常类型,异常都会被捕获并且处理。 +```java + @PostMapping("/shiro") + public String shiro() { + throw new RuntimeException(new JarException("fuck")); + } + + @ExceptionHandler + public String handleJarException(JarException e) { + return e.getMessage() + ", Jar"; + } +``` +> 如果有多个@ExceptionHandler方法匹配抛出的异常链,那么