Итоговые замечания в 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 |