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

Итоговые замечания в Microsoft Visual FoxPro

« Назад

Как и в других обработчиках ошибок VFP, исключение, возникшее в TRY-конструкции, устанавливает SET CONSOLE в ON.

Область видимости переменных, созданных в любом из блоков TRY-конструкции, определяется по общим правилам.

Все операторы TRY-блока, расположенные после строки, вызвавшей исключение, не будут выполнены. Это обстоятельство нужно учитывать при составлении программ. В частности, не следует использовать команду SET TEXTMERGE TO MEMVAR в TRY-блоке, поскольку при возникновении ошибки переменная будет потеряна.

Использование функции COMRETURNERROR( ) в CATCH-блоке завершает вычисления и передает управление непосредственно COM-клиенту. То есть FINALLY-блок не выполняется.

Вид обработчика, принявшего ошибку, можно определить, употребляя рассмотренную в разд. 7.2 функцию SYS(2410). Затем в зависимости от найденного вида выполнить соответствующую обработку обнаруженной ошибки.

Конструкция TRY может быть использована для обработки ошибок, возникающих в событиях меню и таймеров, например:

try

do myMenu

do form myForm

myForm.AddObject("Tm1", "myTimer")

read events                          && Начинаем обработку событий

catch to oException

if oException.ErrorNo = 1 then

&& …

endif

finally

                                            clear events

endTry