[Resolvido]Problemas com a exceção do parce int

String stridade = spinneridade.getValue().toString();
int idade;
try {
	idade = Integer.parseInt(stridade);
	if (idade < 10 || idade > 120) {
	   JOptionPane.showMessageDialog(btnEnviar, "Idade deve ser maior do que 10 e menor do que 120.");
	   idade = 0;
	}
} catch (NumberFormatException e) {
	JOptionPane.showMessageDialog(btnEnviar, "Idade deve ser um número.");
}

Problema:

Se no meu spinner ao invés de por um número eu escrever “melancia” o JOptionPane de mensagem “Idade deve ser um número” não aparece.

Serio que a mensagem não aparece com esse valor ???

String stridade = "melancia";
int idade;
try {
        idade = Integer.parseInt(stridade);
        if (idade < 10 || idade > 120) {
            JOptionPane.showMessageDialog(null, "Idade deve ser maior do que 10 e menor do que 120.");
            idade = 0;
       }
} catch (NumberFormatException e) {
        JOptionPane.showMessageDialog(null, "Idade deve ser um número.");
}

Sério ué… tu testou ?

Mas acho que já descobri por que. É que como ele dá um throws dentro do método parseInt de certo o meu catch não pega a exceção. Sei lá né. Talvez. Mas não importa, por que “quando o throws pega a exceção” (se é que ele pega) de alguma forma alguma coisa seta ela igual a 0. E como o meu primeiro if trata as idades iguais a 0 eu vou acabar não tendo problemas. Mesmo que eu não consiga dar mensagens de erro personalizadas como eu queria.

Também estranhei mas enfim. Deixei assim mesmo. (Se souber resolver me diz que eu arrumo).

Ah tá entendi. Testei sem dar o spinneridade.getValue().toString();
dando direto String stridade = “melancia”; e deu o erro certinho.

De certo o problema é que o spinner não consegue pegar valores diferentes de números ou sei lá.