2015-12-11 3 views
4

Я получаю NumberFormatException и я хочу, чтобы получить значение из самого исключения, который выглядит как
enter image description hereFetch значения из Exception

Но нет геттера для значения, кто может предложить любое решение извлеките это значение, а не отражение, или даже отражение может быть прекрасным.

+0

продлить исключение и добавить свои собственные значения/геттер. На что это нужно, на самом деле? – Stultuske

+0

@Stultuske. Как здесь может помочь собственное исключение? Non из используемых библиотек знал бы этот новый тип исключения. – Tom

+0

, чего вы пытаетесь достичь, получив эту ценность? –

ответ

3

Если вы явно проверить TypeMismatchException, вы можете получить это значение, просто вызвав getValue()

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

+0

Работает большое спасибо !!! –

+0

Простите, что это случилось случайно, даже я не знал! Я принял его снова, спасибо –

2

Вы можете получить значение из org.springframework.beans.TypeMismatchException просто использовать объект ПолучитьЗначение(), например , используя следующий код:

... 
} 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; 
    } 
... 
} 
Смежные вопросы