Re[13]: Применим ли Си++ в серьезном коде?
От: alexkro  
Дата: 15.06.04 03:54
Оценка:
Здравствуйте, bwowa, Вы писали:

B>Здравствуйте, WolfHound, Вы писали:


WH>>Можно узнать зачем ты использовал спецификацию исключений?


B> Большей частью мы использовали throw() для повышения самодокоментируемости кода.


А толмуда с названием "Coding guidelines" у вас нет? Перегнули вы тут явно. Самодокументированность липовая, так как проблемы в этом смысле абсолютно такие-же как и в Java, когда в одной функции спецификация меняется, и это заставляет поменять все функции, её вызывающие, а дальше и все функции их вызывающие, и т.д. В конце концов это приводит к бардаку.

>Если функция может вызвать штатное исключение, то это должно быть описано. В купе с модификатором const и другими подобными вещами, информация в заголовке функции несёт пользу для человека, использующего эту функцию в своём коде. А спецификация С++ следит за корректность использования throw().


Я так не думаю. Редок тот компилятор, который поддерживает, что-либо кроме пустого "throw()" (versus throw(some_exception)).

B> К тому же, уже по моему мнению, информация об исключениях, может быть использована компилятором для оптимизаций,


Как раз таки, компилятор должен кучу кода награмаздить, чтобы проверить соответствие спецификации исключения. Тут уж ни о какой оптимизиции речи не идёт, за исключением опять-же пустого throw().

> или для автоматической генерации кода обработки исключения.


Автоматическая генерация обработчика? std::unexpected()? Кому такая нужна?

>А также всякими профайлерами и CASE средствами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.