I know that this would be bad practice although I know that I would not be able to explain why.
int [] intArr = ... ... try{ int i = 0; while(true){
You are correct. Exceptions should not be used to handle process flow.