Разработка приложений в системе Delphi. Шейкер Т.Д. - 60 стр.

UptoLike

Составители: 

Добавим локальный обработчик для контроля за преобразованием
вводимых данных. При этом глобальная обработка исключений будет
задействована только для нулевых введённых значений (0/0).
except
on EZeroDivide do
begin
ShowMessage('Попытка деления на ноль!');
Edit2.SetFocus;
end;
on EConvertError do ShowMessage('Ошибка преобразования!');
Если ввести секцию else, то все исключения будут обработаны локально.
except
on EZeroDivide do
begin
ShowMessage('Попытка деления на ноль!');
Edit2.SetFocus;
end;
on EConvertError do ShowMessage('Ошибка преобразования!')
else ShowMessage('Ошибка в защищённом блоке!');
Конструкцию try...finally используют в тех случаях, когда
существуют действия, которые обязательно надо выполнить до завершения
программы. Код, расположенный в части
finally, выполняется в любом
случае, даже если возникает исключительная ситуация. Если ошибки не
возникло, то последовательно выполняются все операторы секций.
try
...{Операторы, выполнение которых может вызвать ошибку}
finally
{Операторы, которые должны быть выполнены даже в случае ошибки}
end;
Конструкцию try...finally можно включить в блок try...except.
Это позволяет выполнить обязательные операторы секции
finally и
обработать исключение операторами секции
except. Оба типа конструкций
можно использовать в любом месте, допускается вложенность любой глубины.
Базовым классом для всех исключений является класс
Exception.
Потомки этого класса охватывают большое количество исключений, которые
могут возникнуть в процессе работы приложений. Имена потомков класса
60
    Добавим локальный обработчик для контроля за преобразованием
вводимых данных. При этом глобальная обработка исключений будет
задействована только для нулевых введённых значений (0/0).
except
  on EZeroDivide do
    begin
     ShowMessage('Попытка деления на ноль!');
     Edit2.SetFocus;
    end;
  on EConvertError do ShowMessage('Ошибка преобразования!');

    Если ввести секцию else, то все исключения будут обработаны локально.
except
  on EZeroDivide do
    begin
     ShowMessage('Попытка деления на ноль!');
     Edit2.SetFocus;
    end;
  on EConvertError do ShowMessage('Ошибка преобразования!')
  else ShowMessage('Ошибка в защищённом блоке!');

    Конструкцию    try...finally     используют    в   тех   случаях,   когда
существуют действия, которые обязательно надо выполнить до завершения
программы. Код, расположенный в части finally, выполняется в любом
случае, даже если возникает исключительная ситуация. Если ошибки не
возникло, то последовательно выполняются все операторы секций.
try
...{Операторы, выполнение которых может вызвать ошибку}
finally
  {Операторы, которые должны быть выполнены даже в случае ошибки}
end;
    Конструкцию try...finally можно включить в блок try...except.
Это позволяет выполнить обязательные операторы секции finally и
обработать исключение операторами секции except. Оба типа конструкций
можно использовать в любом месте, допускается вложенность любой глубины.
    Базовым классом для всех исключений является класс Exception.
Потомки этого класса охватывают большое количество исключений, которые
могут возникнуть в процессе работы приложений. Имена потомков класса



                                     60