Fijate bien este codigo, en que momento va a suceder un ArrayIndexOutBoundsException, nunca va a pasar aqui esa excepcion, esa excepcion va a suceder en el método main, ya que ahi haces usa de un array.
Código:
try{
fIS = new FileInputStream(argumento);
System.out.println("el archivo si existe");
}catch(FileNotFoundException e){
System.out.println("Archivo no encontrado.");
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("No se ha especificado el nombre del archivo");
}catch (IOException e){
System.out.println("error en acceso al archivo");
}