OK, I'm a newbie, but please explain why the following doesn't give an indexoutofrange exception:

Dim ix(2) As Integer
For i As Integer = 0 To 3
ix(i) = i
Next

If I put it in a try..catch block, it catches the error, but if I don't then the program continues merrily on its way. Seems to me that in debugging mode, there should be some indication that an out of range exception has occurred without having to explicitly check for it. Admittedly, in this instance it's obvious, but in a more complex program, it might not be.