ВУЗ:
Составители:
Рубрика:
- 73 -
mtWarning, [mbOk], 0);
end; { конец блока try/except }
C++Builder.
В C++ вместо конструкции try/except используется блок
try/catch; при этом блок catch выполняется при наличии ИСС в предшест-
вующем блоке try согласно нижеприведенному скелетному коду
try // начало блока слежения за ИСС
//
// ... любой код, могущий сгенерировать исключение ...
//
catch(T Z) // выполняется при возникновении исключения Z
// типа Т в предшествующем try-блоке
//
// ... необходимая обработка ИСС ...
//
catch(...) // выполняется при любой ошибке в
// предшествующем блоке
//
// ... необходимая обработка ИСС ...
//
При использовании блока try/finally следующие за ключевым словом fi-
nally операторы выполняются в обязательном порядке после возникновения
ИСС (важно в определенных случаях, например, для освобождения ранее вы-
деленных блоков памяти)
try { включить отслеживание ИСС }
Operator'1;
Operator2;
Operator3;
finally { выполняется всегда ! }
Operator4;
end; { конец try / finally }
Имеется возможность определять реакции на определенные типы ИС, что
реализуется обработчиками ИСС (объектами класса Exception, причем про-
граммист может создавать - кроме имеющихся базовых - объекты этого клас-
са для обработки ожидаемых ИСС).
Например, в следующем примере (с помощью конструкции on... do... else)
отслеживаются стандартные ИСС EZeroDivide, EOutOfMemory и EInvalid-
Pointer
var
RealVal: real;
IntVal: integer;
- 73 -
mtWarning, [mbOk], 0);
end; { конец блока try/except }
C++Builder. В C++ вместо конструкции try/except используется блок
try/catch; при этом блок catch выполняется при наличии ИСС в предшест-
вующем блоке try согласно нижеприведенному скелетному коду
try // начало блока слежения за ИСС
//
// ... любой код, могущий сгенерировать исключение ...
//
catch(T Z) // выполняется при возникновении исключения Z
// типа Т в предшествующем try-блоке
//
// ... необходимая обработка ИСС ...
//
catch(...) // выполняется при любой ошибке в
// предшествующем блоке
//
// ... необходимая обработка ИСС ...
//
При использовании блока try/finally следующие за ключевым словом fi-
nally операторы выполняются в обязательном порядке после возникновения
ИСС (важно в определенных случаях, например, для освобождения ранее вы-
деленных блоков памяти)
try { включить отслеживание ИСС }
Operator'1;
Operator2;
Operator3;
finally { выполняется всегда ! }
Operator4;
end; { конец try / finally }
Имеется возможность определять реакции на определенные типы ИС, что
реализуется обработчиками ИСС (объектами класса Exception, причем про-
граммист может создавать - кроме имеющихся базовых - объекты этого клас-
са для обработки ожидаемых ИСС).
Например, в следующем примере (с помощью конструкции on... do... else)
отслеживаются стандартные ИСС EZeroDivide, EOutOfMemory и EInvalid-
Pointer
var
RealVal: real;
IntVal: integer;
Страницы
- « первая
- ‹ предыдущая
- …
- 71
- 72
- 73
- 74
- 75
- …
- следующая ›
- последняя »
