Il problema è la dichiarazione di a, deve essere fatta fori dal blocco try-catch.
codice:
public static int setto()
 {
int a = -1;
 try{
       ...........
       ...........
       ...........

      a =tokens.countTokens();
      }

   catch(..........)
     {................}

return a;
}
In questo caso però se verrà sollevata un'eccezione il metodo setto() ti restituità -1, devi tener conto di questo quando usi il metodo setto().