676 ________Часть IV. Новые возможности C++

структурных исключительных ситуаций не имеет никакого понятия об объектах или типах исключительных ситуаций, он не может обработать исключительные ситуации, которые генерирует код C++; однако обработчики C++ могут обрабатывать исключительные ситуации С. Проще говоря, компилятору С неведом синтаксис обработки исключительных ситуаций C++ (try, throw и catch), но компилятор C++ поддерживает синтаксис структурной обработки исключительных ситуаций (_try, _except и _finally).

Механизм структурной обработки исключительных ситуаций, который поддерживает Borland C++, полезен, главным образом, для повышения безопасности и надежности многоязыковых программ. Однако в большинстве своем программистам C++ лучше избегать структурной обработки исключительных ситуаций.

Исследование гипотетического приложения

л До сих пор обработка исключительных ситуаций была представлена в этой главе достаточно тривиальными примерами. Однако, для того чтобы ощутить насколько глубоко обработка исключительных ситуаций может повлиять на программу в целом, необходимо что-то более реальное.

Оставшаяся часть этой главы посвящена рассмотрению гипотетического приложения ExpSum. Это приложение не слишком велико, но его размер все же достаточен для демонстрации некоторых приемов, которые вы може-ге принять на вооружение, вводя исключительные ситуации в свою повседневную практику.

Знакомство с приложением ExpSum

Задача программы ExpSum состоит в том, чтобы взять текстовый файл с информацией о расходах и вывести на экран отчет о его содержимом. В <оде обработки файла программа производит некоторый (очень ограниченный) анализ корректности полученной информации. В листинге 22.24 приведен примерный результат работы приложения ExpSum.

h06161.jpg

imployee #9264

Зеп Е. Eye

L23 Liberty Bell South Dr.

Birmingham, AL 35244