Se usi StringTokenizer, ottieni token come String. Se vuoi convertirli in int, c'è Integer.parseInt, che lancia NumberFormatException se la stringa è malformata (non un int).
Se usi Scanner, il nextInt() lancia InputMismatchException se il token non è un int.
P.S. un while con test del hasNextInt() che "protegge" il nextLine() ... ha ben poco senso.