从异常中获取值

Fetch value from Exception

我得到一个 NumberFormatException,我想从异常本身获取值,它看起来像

但是没有 getter 可用于该值,任何人都可以提出任何解决方案来获取该值而不是反射,甚至反射也可以。

如果您显式检查 TypeMismatchException,您只需调用 getValue()

即可检索该值

http://docs.spring.io/spring-framework/docs/2.0.8/api/org/springframework/beans/TypeMismatchException.html#getValue()

您可以从 org.springframework.beans.TypeMismatchException 中获取值,只需使用 Object getValue(),例如,使用以下代码:

...
} catch(Exception exception) {
   if(exception instanceof TypeMismatchException) {
      Object value = ((TypeMismatchException) exp).getValue;
      ... // what you want to do with value
   }
}

...
} catch(TypeMismatchException exception) {
      Object value = exp.getValue;
      ... // what you want to do with value
}

因为org.springframework.beans.TypeMismatchException定义为

package org.springframework.beans;
public class TypeMismatchException extends PropertyAccessException {
...
    /**
     * Return the offending value (may be {@code null})
     */
    @Override
    public Object getValue() {
        return this.value;
    }
...
}