Pergunta

Eu recebo as seguintes exceções org.zkoss.zk.ui.UiException e java.lang.NumberFormatException. Alguém pode ajudar por favor? Meu Stacktrace é o seguinte:

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)


Meu arquivo 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 (FederinfoeditViewModel.java):

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

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

        }
  }

Alguém pode me dizer como pode resolver esse problema?

Obrigado

Foi útil?

Solução

info.getFolderInforecord().getInfoValue() está retornando a String isso não analisa com sucesso um double, é por isso que você está recebendo um NumberFormatException. Sem mais informações, é tudo o que posso dizer.

Você está apenas verificando se não está em branco e não é igual a "nulo". Você pode impedir que seu programa trava envolvendo o código em um try/catch onde você lida com o NumberFormatException

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top