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