Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 407

Рассказ об обработке исключений легко может занять всю главу, поэтому я ограничусь рассмотрением только тех исключений, которые формируются компонентами VCL.

Ключевые слова обработки исключений: try, catch и throw

Синтаксис обработки исключений не особенно сложен. Существуют три ключевых слова — try (контролировать), catch (ловить, захватывать) и throw (выбрасывать, формировать, генерировать, посылать). Ключевые слова try и catch используется при обработке исключений, а ключевое слово throw — для формирования исключения. Рассмотрим их более подробно.

Ключевые слова try и catch:

try {

TryStatements

}

catch (TypeToCatch) {

CatchStatements

}

Ключевое слово try отмечает начало контролируемого блока. TryStatements — это исполняемые операторы. Если какие-либо исключения типа TypeTo­Catch сформированы во время выполнения TryStatements, то выполняются операторы CatchStatements. Если ни одно исключение не сформировано, операторы CatchStatements игнорируются и выполнение программы продол­жается с оператора, следующего за блоком catch. TypeToCatch может быть одним из встроенных типов данных (int, char, long и т.д.), экземпляром класса или многоточием (...). Если TypeToCatch — многоточие, то захваты­ваются все исключения, независимо от их типа.

Захват исключений с try и catch

Прежде, чем я попытаюсь объяснить ключевые слова try и catch, рас­смотрим простой пример. Листинг 14.2 содержит короткий фрагмент кода, который иллюстрирует обработку исключений. Этот код пытается загрузить графический файл (.bmp, .wmf или .ico). Если выбранный пользователем файл не относится к этим форматам, VCL формирует исключение. Вы за­хватываете исключение и выводите окно сообщения, говорящее пользователю, что выбранный файл не является графическим файлом Windows.

Web-дизайн (с) 2010 All rights reserved