Ho una classe nella quale devo inserire utilizzando apposite textfield dei valori (nome, cognome,telefono,etc).

Alcuni campi però, come ad esempio quello telefonico necessitano di essere controllati mediante il blocco try&catch per verificare che ad esempio insieme al numero non sia stato immessa un lettera.

Ho quindi creato un metodo apposito, controlloCampo, nel quale vado ad effettuare tutti i controlli:

codice:
public boolean controlloCampo()
{
 char[] nomeNum = campoNome.getText().toCharArray();
 char[] cognomeNum = campoCognome.getText().toCharArray();
 char[] telefonoNum = campoTelefono.getText().toCharArray();
 .
 .
 .
        
  if ( (campoNome.getText().equals("")) || ...)
   {
   	JOptionPane.showMessageDialog(null, "Uno o più campi sono vuoti", "Si è verificato un errore", JOptionPane.ERROR_MESSAGE);
    return false;
   }
   else
   if (Integer.parseInt(campoCivico.getText()) <= 0)
   {
    JOptionPane.showMessageDialog(null, "Il valore inserito nel campo ' N° civico' non è valido", "Si è verificato un errore", JOptionPane.ERROR_MESSAGE);
    return false;
   } 
  // ometto di scrivere tutta una serie di else if

  // il blocco try&catch è il problema

  try
    {
     Long.parseLong(campoTelefono.getText());
    }      
    catch (NumberFormatException n)
    {
     JOptionPane.showMessageDialog(null, "Il campo 'telefono' contiene un valore non valido", "Si è verificato un errore", JOptionPane.ERROR_MESSAGE);
     return false;
    }

 return true;
}
La compilazione va a buon fine, e il programma si esegue senza problemi, ma se per caso provo ad inserire nel campo del telefono una lettera al posto di un numero si verifica un errore di tipo NumberFormatException.

Che posso fare??