SomeObject.Test(7); // вызывается метод класса-родителя T1.Test
События
События возникают в результате воздействий Пользователя, аппаратуры компьютера или других программ. Известие о наступлении события в операционной системе Windows – это сообщение.
События имеют разное количество и тип параметров в зависимости от происхождения и предназначения. Общим для всех является параметр sender – он указывает на объект-источник события.
В Delphi вызовы обработчиков событий находятся в методах, обрабатывающих сообщения Windows.
Все события в Delphi принято предварять префиксом On.Например,onCreate, onMouseMove, onPaint и другие.
Исключительные ситуации
Исключительная ситуация – это ситуация, которая возникает в результате ошибки в работе программы (например, деление на ноль, попытка открыть несуществующий файл или получить данные по нулевому указателю).
Для обработки исключительных ситуаций предназначены специальные классы и операторы языка Object Pascal:
· Exception (исключение)– базовый классдля всех классов–исключительных ситуаций. Названия классов, наследуемых от Exception,начинаются с Е, например EZeroDivide
· Операторы try…except и try…finally. В случае возникновения исключительной ситуации выполнение программы немедленно прекращается, и управление передается операторам, идущим за ключевыми словами except или finally.
4.2.9.1 Операторы try…except
Операторыtry…except применяется для обработки исключительных ситуаций.
Синтаксис:
Try
<Операторы>
Except
on <Класс исключения> do <Оператор обработки>;
on <Класс исключения> do <Оператор обработки>;
...
else { обработчик прочих исключительных ситуаций}
<0ператор>
end;
Выполнение оператора начинается с секции try. При отсутствии исключительных ситуаций только она и выполняется.
Секция except получает управление в случае возникновения исключения. После обработки исключительной ситуации управление обратно в секцию try не передается; выполняются операторы, стоящие после end.
Пример:
Var
a, b, c: ShortInt;
Begin
Try
c:= a div b;
Except
on EIntError {Класс исключений для ошибок целочисленной
арифметики (деление на 0, переполнение)}
do
MessageDlg('Ошибка', mtWarning, [mbOK], 0); { вывод сообщения об ошибке в диалоговое окно с кнопкой OK}
end;
end.
4.2.9.2 Операторы try…finally
Операторыtry…finallyприменяется, когда необходимо возвратить выделенные программе ресурсы даже в случае аварийной ситуации.
Синтаксис:
Try/b>
<Операторы>