Converter String para Int

[quote=ViniGodoy][quote=alansystem]Perfeito ViniGodoy

try -> se o bloco abaixo não receber o valor
catch -> então exiba o erro

é isso né a leitura?

outra coisa percebi que você colocou o try depois do JOptionPane, tanto faz, ou é boa prática? pq fiz o teste e também funciona

vlw a ajuda galera![/quote]

O try pede para ele “tentar” fazer alguma operação perigosa. Se ela falhar, o erro é capturado no catch. Esse link é um ótimo material sobre o assunto:

Coloquei o try abaixo do JOptionPane pq o showInputDialog nunca dará erro. A nossa primeira operação de risco é o parseInt. Até poderia ser dentro, sem problemas, mas eu geralmente prefiro fazer assim, pois estou dizendo explicitamente onde está o meu código crítico.

O resto do código fica dentro do try pois não queremos executar nenhum daquelas comandos caso o parseInt falhe.[/quote]

Viny, não sei se estou certo mas, se por exemplo, eu defino quantos caracteres podem ser digitados dentro do showInputDialog, tem como ocorrer um erro? ou o showInput “travara” o ultimo caracter, caso o próximo ultrapasse o limite definido…

como é colocado este limite? dentro do JOptionPane.showInputDialog ?

Não tem como estipular esse limite. Teria como fazer usando um JDialog, mas não no JInputDialog.showInputDialog.

No catch você não põe necessariamente a mensagem de erro, mas sim, o tratamento do erro. Algumas vezes, o tratamento pode ser só gerar um log, ou então, pode ser simplesmente não fazer nada. Mostrar uma mensagem é um exemplo de tratamento de erro, mas não o único tipo possível. O importante é analisar caso a caso.

Muitas vezes, é necessário fazer outras coisas como fechar conexões, statements etc… Leiam o material do sergio que é bem completo sobre quando, como e porque lançamos exceções e como devemos trata-las.

Além do try e do catch existe o bloco finally, que sempre será executado, tenha exception ou não.

É, acabei falando bobagem, não tem como limitar esse numero de caracteres dentro do JOptionPane…

Excelente!

Catch como Else porém para tratamento de erros!

entendi perfeitamente, vlw as dicas valiosas!

Ah sim agora entendi, vlw! :smiley: