NumberFormatException

ola pessoal sou iniciante em java.
estou com um problema:
try{
a=Short.parseShort(JOptionPane.showInputDialog(null,“QUAL O VALOR DO SEGMENTO A.”));
}catch(NumberFormatException e){
resp=JOptionPane.showMessageDialog(null,“DIGITE APENAS NUMEROS.”);

quando clico em cancel no InputDialog ele cai no try catch.
alguem sabe por que?

grato.

Porque quando você clica em cancel ele retorna null, aí o parseShort() vai falhar porque null não é um numero…

try{ String str = JOptionPane.showInputDialog(null,"QUAL O VALOR DO SEGMENTO A."); if(str!=null){ a=Short.parseShort(); } }catch(NumberFormatException e){ resp=JOptionPane.showMessageDialog(null,"DIGITE APENAS NUMEROS."); }

valeu pela dica