Здравствуйте, WolfHound, Вы писали:
WH>Можно узнать зачем ты использовал спецификацию исключений?
Извините, начну с самого дна.
Надеюсь никто не отрицает пользу исключений, поддерживаемых аппаратно. Это нормальный способ передачи сообщений на верх. Хотя некоторых пугает слово "исключение".
Сейчас С++ поддерживает гибкую систему работы с исключениями — передача объекта класса исключения на верх и вызов деструкторов автоматических объектов.
Большей частью мы использовали throw() для повышения самодокоментируемости кода. Если функция может вызвать штатное исключение, то это должно быть описано. В купе с модификатором const и другими подобными вещами, информация в заголовке функции несёт пользу для человека, использующего эту функцию в своём коде. А спецификация С++ следит за корректность использования throw().
К тому же, уже по моему мнению, информация об исключениях, может быть использована компилятором для оптимизаций, или для автоматической генерации кода обработки исключения. А также всякими профайлерами и CASE средствами.
... << RSDN@Home 1.1.3 stable >>