non ci siamo capiti, lascia stare il test per un secondo: cosa fa il tuo programma se non trova il record?
Un messaggio, un'eccezione che in questo caso devi catchare, ma è prevista perché come fai a dire "guarda che mi hai dato il riferimento ad un record che non esiste?"
Il test deve sempre e comunque testare il comportamento del programma anche in questi casi, deve rispondere come tu hai voluto.
Non hai capito cosa vuole dire il tuo prof: non devi catchare tutte le eccezioni indistintamente, se la tua funzione ad un certo punto ne lancia una tu devi verificare che nelle condizioni che hai pensato lanci quella eccezione e come fai se non la catchi?
Pensa se cerchi un file di configurazione, se tutto va bene il tuo programma parte, se non trovi il file sicuramente avrai una FileNotFoundException, che magari ti porti fuori con un messaggio più significativo per te (Io lo farei) e a quel punto quella nuova eccezione la devo catchare perché è l'obiettivo del test.
Soprattutto devo avere una FileNotFoundException e non una IllegalArgumentException, la prima è prevista, la catturo, la seconda no e la lascio andare (quindi la gestirà qualcun altro)
Ascolta bene il prof e quello che vuole dire