640_______________________________Часть IV. Новые возможности C++
Почему может понадобиться выключить обработку исключительных ситуаций? Вероятно, самым большим недостатком ее использования является то, что компилятор должен реализовать множество вещей, чтобы добиться тех функциональных возможностей, которые обеспечивает обработка исключительных ситуаций. Ценой введения обработки исключительных ситуаций является дополнительный "скрытый" код в исполняемых программах, что в свою очередь означает, что размеры ваших программ увеличатся и они будут работать несколько медленнее. Если дополнительные издержки, налагаемые на программы введением в нее обработки исключительных ситуаций, для вас неприемлемы, то вы, разумеется, вправе ее запретить.
Далее...
Чтобы овладеть техникой обработки исключительных ситуаций, необходимо изучить несколько новых тем, но они, как вы наверно успели заметить, достаточно просты и понятны. Запомните, что обработка исключительных ситуаций исправляет многие слабые места традиционных стратегий борьбы с ошибками. Исключительные ситуации позволяют объединить обработку ошибок в единый блок, не заботясь о том, будут или нет объекты C++ правильно уничтожены в случае каких-то неполадок. Часто ценой относительно небольших усилий эти новые методы обработки ошибок можно ввести и в ваши старые программы.
В этой книге есть несколько других глав, которые знакомят вас с новыми и передовыми идеями в программировании на C++. Вам непременно следует прочитать следующие главы:
• Глава 19 "Классы-шаблоны" знакомит вас с шаблонами — мощными расширениями языка, позволяющими создавать "семейства" классов, связанные общими функциональными возможностями.
• Глава 23 "Динамическая идентификация типов" рассказывает об этом сравнительно новом наборе средств C++, который позволяет программистам определять типы объектов во время выполнения приложения. В этой главе объясняется, зачем такая возможность может понадобиться.