Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Отсутствие ключа в мэпе само по себе не есть исключительная ситуация для кода библиотеки. Это не индекс за пределами длины массива. Поэтому найти подходящее исключение и не удается.
Принимая во внимание то, что
концепция range в C++ имеет несколько специфичный смысл, отличный, например, от математического, и что map — это разновидность range, то отсутствие некоторого ключа в мапе вполне может быть квалифицировано как "out of range". И то, что не является исключительной ситуацией для стандартной библиотеки, вполне может оказаться исключительной ситуацией с точки зрения логики пользовательской программы. Но класс исключения я бы завёл всё-таки свой, наверное.