http://www.cplusplus.com/reference/stl/vector/at/
The difference between this member function and member operator function operator[] is that vector::at signals if the requested position is out of range by throwing an out_of_range exception.