Per analizzare più a fondo la situazione, il codice che hai riportato è insufficiente.
Si dovrebbe vedere cosa accade prima e dopo, ispezionare il resto del codice, soffermarsi ad esaminare il valore delle variabili in gioco quando si verifica l'eccezione e così via...