java.lang.NumberFormatException:

4 respostas
programaçãojava
M

Boa Tarde,

Sou novo aqui e estou criando um codigo em java que le os dados de um broker MQTT. O problema são os erros que estão ocorrendo e que não consigo resolve-los.

Os erros são:

Listening

erro: MqttException  java.lang.NumberFormatException: For input string: ""

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at java.lang.Long.parseLong(Unknown Source)

at jp.takida.mqtt.atuador_hc.messageArrived(atuador_hc.java:89)

at org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:477)

at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:380)

at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:184)

 1 more

Sou noob em Java e agradeço a ajuda!

4 Respostas

darlan_machado

Provavelmente você está tentando converter uma String em um número, sem verificar se a String é um número válido, como o caso acima, String vazia não é um número, correto?

O que eu não me conformo é alguém que se diz novo querendo fazer coisas que não cabem a quem é novo, como consumir dados de um broker.

M

Agradeço a atenção e vou verificar.

Não se conforme, apenas ajude a quem quiser ajudar.

M

Sem solução ainda

darlan_machado

Cara, qual a dificuldade que você tem em entender que está recebendo uma String vazia e você não está tratando?
Se você fizer isso

Integer x = Integer.valueOf("");

Vai receber a mesma exceção.
Precisa evitar isso. Como?
Pesquisando por tratamento de exceção em java, é um começo.

Agora, eu não tenho como dizer quais são as regras negociais envolvidas. Afinal, se está tentando converter uma String em um número, é por que você precisa, de alguma forma, disso.
Sendo assim, ninguém aqui consegue te dizer “faça isso e pronto”. Se você tiver que devolver uma mensagem de exceção, por exemplo, vai precisar ter isso muito bem definido.

Criado 3 de abril de 2018
Ultima resposta 3 de abr. de 2018
Respostas 4
Participantes 2