map::at() does bound checking, and throws an exception if out-of-range, contrary to [] operator which returns a new element.