Распечатать страницу

Обработчик события ERROR в Microsoft VFP

« Назад

Возникающие при работе с объектами ошибки исполнения можно обработать процедурой Error. Это имя зарезервировано VFP для процедуры-обработчика события Error. Например:

&& При возникновении ошибки в методе или событии объекта ob

&& будет вызвана процедура Error( ) – обработчик события Error

ob = NewObject("SomeClass")

&& Обращение к методу, при исполнении которого возникает ошибка

ob.SomeMethod

define class SomeClass as Custom

procedure SomeMethod

    && Попытка извлечь корень из отрицательного числа приведет к ошибке

    x = Sqrt(–5.0)

endProc

&&

&& Обработчик события Error

procedure Error(nError, cMethod, nLine)

    ? "Error: ", nError, cMethod, nLine

endProc

endDefine

При отсутствии процедуры Error ошибка будет передана стандартному обработчику VFP или обработчику, заданному командой ON ERROR. Если же одновременно заданы обработчики ON ERROR и Error и если ошибка возникла в методе или событии объекта, то будет использован обработчик его события Error. Если же строка с ошибкой расположена вне метода (события), то она будет обработана ON ERROR-процедурой.

Замечание. Все ошибки, происходящие в методах и событиях объекта, следует анализировать обработчиком события Error объекта, а не передавать ON ERROR- или стандартному обработчику. Внутри обработчика события Error можно, однако, поместить конструкцию TRY ... CATCH ... FINALLY.