Salve non riesco a capire perchè quando provo a sollevare l'eccezione ho un errore in questa parte di codice

codice:
 try{
                       System.out.println("Quale carta vuoi giocare?");
                       scelta=scanner.nextInt();
                       while (scelta<1 || scelta>3){ 
                                 System.out.println("ERRORE DIGITA NUMERO CORRETTO");
                                 System.out.println("Quale carta vuoi giocare?");
                                 scelta=scanner.nextInt();
                          }
                      }catch (Exception exc){
                           System.out.println("Bisogna inserire un numero");
                       }
con questo output

Quale carta vuoi giocare?
l
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
Bisogna inserire un numero
at briscola.MazzoDiCarte.mano(MazzoDiCarte.java:198)
at briscola.Briscola.main(Briscola.java:19)
Java Result: 1

Sapreste spiegarmi dove sbaglio?