经常看到,但是不理解什么意思
比如这个:
2017-10-20 11:38:11,211 ERROR - Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "x" [com.eversec.centertool.exception.GlobalControllerExceptionHandler.handleException(GlobalControllerExceptionHandler.java:37)] org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "x"
有两个异常 NumberFormatException 和 MethodArgumentTypeMismatchException 如果我写一个捕捉语句 对两个异常都捕捉 哪个会优先被捕捉?
1
GeruzoniAnsasu 2017-10-20 12:05:31 +08:00
嵌套异常不就是在异常处理中抛了新的异常
如果在 try catch 外再捕获异常,应该只会捕获 catch 里抛出的新异常,旧的异常已经被 catch 处理了在外面捕获不到 如果你想处理嵌套的异常之后还继续处理之前的异常,应该在 catch 里套一个 try catch |
2
GuuJiang 2017-10-20 12:07:05 +08:00 via iPhone
并没有抛出两个异常,你只能捕捉到 MethodArgumentTypeMismatchException,通过它的 getCause 方法能获得 NumberFormatException
|