If LogicalCondition then Raise EAbort. Create ( 1 Condition 1');

Если не нужно определять сообщение, можно создать EAbort и проще - вызвав процедуру Abort (без параметров), содержащуюся в модуле SYSUTILS.PAS.

Фун кцияЛ ssert

Эта процедура и сопутствующая ей ИС EAssertionFailed специально перенесены в Object Pascal из языка С для удобства отладки. Синтаксис ее прост:

procedure Assert (expr : Boolean [;
const msg: string]);

При вызове функции проверяется, чему равно значение переданного в нее булевого выражения ехрг. Если оно равно True, то ровным счетом ничего не ПГОИСХОДИТ. ЕСЛИ же ОНО равно False, создается ИС EAssertionFaiied. Все это было бы довольно тривиально с точки зрения уже изученного, если бы не два обстоятельства:

1. Предопределенный обработчик ЕАззегііопРаііесІ устроен таким образом, что выдает не шестнадцатеричный адрес ошибки, а имя файла с исходным текстом и номер строки, где произошла ИС, как показано на рис. 3.4.

Программирование в Delphi 7

Рис. 3.4. Окно сообщения обработчика исключительной ситуации EAssertionFaiied

2. При помощи специальной директивы компилятора {SASSERTIONS on/off) (или, что то же самое, {$с+}/{$с-}) возникновение этих ИС можно централизованно запретить. То есть в отлаживаемом коде в режиме {$с+} можно расставить вызов Assert во всех сомнительных и проверяемых местах. Когда же придет время генерации конечного варианта кода, переключением директивы на {$с-} весь отладочный вывод запрещается.

Резюме

Любое созданное в Delphi приложение должно обеспечивать обработку возможных исключительных ситуаций. Пусть вначале вам покажется ненужным создавать дополнительный код обработки ошибок для простейших программ, в которых вероятность ошибки минимальна. Зато впоследствии приобретенные навыки позволят вам существенно повысить надежность реальных приложений.

В Delphi для обработки исключительных ситуаций используются специальные конструкции языка Object Pascal и классы на основе базового класса ИСКЛЮЧИТелЬНЫХ ситуаций Exception.

ГЛАВА 4

Кроссплатформенное программирование для Linux

Времена безраздельного господства операционных систем Windows для домашних компьютеров и корпоративных рабочих станций подходят к концу. Все большее число рядовых компьютеров работает под управлением других операционных систем. Среди них по праву выделяется операционная система Linux, сочетающая в себе открытость и хорошие возможности настройки.

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

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


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс