Frage

Ich erhalte die folgenden Ausnahmen org.zkoss.zk.ui.UiException und java.lang.NumberFormatException. Kann jemand bitte helfen? Mein Stacktrace ist wie folgt:

Nov 08, 2013 10:43:17 AM org.zkoss.zk.ui.impl.UiEngineImpl handleError:1359
SEVERE: >>org.zkoss.zk.ui.UiException: For input string: "Enter Number"
>>java.lang.NumberFormatException: For input string: "Enter Number"
>>  at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
>>  at java.lang.Double.parseDouble(Unknown Source)
>>  at com.abcd.acd.a.web.viewmodel.FolderInfoEditViewModel.loadFolderInfoList(FolderInfoEditViewModel.java:633)
>>  at com.abcd.acd.a.web.viewmodel.FolderInfoEditViewModel.afterCompose(FolderInfoEditViewModel.java:116)
>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


Meine ZUL -Datei:

<zk if="${civilInfoData.infoType.equalsIgnoreCase('n') and !civilInfoData.encrypted }">
       <doublebox value="@bind(civilInfoData.folderInforecord.infoValueNumeric)" 
           hflex="1" placeholder="@load(vm.getText('FolderInfoDetail:LABEL_VALUE'))"
           mandatory="@load(civilInfoData.folderInforecord.valueRequired)"
           maxlength="10" 
           tooltiptext="@load(vm.getText('FolderInfoDetail:ENTER_NUMBER'))">
        </doublebox>
</zk>


ViewModel (OrdnerInfoeditViewModel.java):

 if (info.getInfoType().equalsIgnoreCase("n")) {
       if (StringUtils.isNotBlank(info.getFolderInforecord().getInfoValue()) &&
           !info.getFolderInforecord().getInfoValue().equalsIgnoreCase("null")) {

                     info.setInfoNumericValue(Double.parseDouble(
                                                 info.getFolderInforecord()
                                                     .getInfoValue()));

        }
  }

Kann mir jemand sagen, wie mir dieses Problem lösen kann?

Vielen Dank

War es hilfreich?

Lösung

info.getFolderInforecord().getInfoValue() kehrt zurück String Das analysiert nicht erfolgreich zu a double, deshalb bekommst du eine NumberFormatException. Ohne weitere Informationen kann ich alles sagen.

Sie überprüfen nur, dass es nicht leer ist und nicht gleich "Null". Sie können verhindern, dass Ihr Programm abstürzt, indem Sie den Code in a einwickeln try/catch wo du mit dem umgehen NumberFormatException

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top