Domanda

Ricevo le seguenti eccezioni org.zkoss.zk.ui.UiException e java.lang.NumberFormatException. Qualcuno può aiutarmi per favore? La mia stacktrace è la seguente:

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)


Il mio file zul:

<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 (FolderInfoEditViewModel.java):

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

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

        }
  }

Qualcuno può dirmi come può risolvere questo problema?

Grazie

È stato utile?

Soluzione

info.getFolderInforecord().getInfoValue() sta tornando a String Ciò non analizza con successo a double, ecco perché stai ricevendo un NumberFormatException. Senza ulteriori informazioni, è tutto ciò che posso dire.

Stai solo controllando che non è vuoto e non uguale a "null". Puoi impedire al tuo programma di crash avvolgendo il codice in a try/catch dove gestisci il NumberFormatException

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top