Ciao sto da poco imparando le eccezioni e non riesco a capire un passaggio di questo esercizio:
scrivi un programma che letta da tastiera un file gestisca le seguenti eccezioni:
1) assenza del nome del file su linea di comando
2) il file è inesistente
3) dati relativi al file che non siano numeri interi
codice:
import java.util.*;
import java.io.*;
class Esami3{
    public static void main(String[] args)  {
        try{
        File f= new File(args[0]);
        Scanner leggiRiga = new Scanner(f);
        int k=1;
        while(leggiRiga.hasNextInt()){
            String riga = leggiRiga.nextLine();
        Scanner tokenizer = new Scanner(riga);
        tokenizer.useDelimiter("#");
            k++;
        }
        }catch (FileNotFoundException d){
            System.out.println("file inesistente");    
    }catch(ArrayIndexOutOfBoundsException a){
     System.out.println("non hai scritto nessun file");
 }catch(.....)
}
}
il punto 1 e 2 penso di averli risolti solo che il punto 3 ho provato a risolverlo con il ciclo while ma non capisco con che tipo di eccezioni posso intercettarlo.Poi la prof ha consigliato di usare la classe scanner qui non è più facile utilizzare la classe stringtokenizer?