Команда ON ERROR

Задает команду, которая выполняется при возникновении ошибки.

Синтаксис:

ON ERROR
	[Command]

Параметры:
Command
Задает команду Visual FoxPro, которую следует выполнить. После того как она выполнится, возобновляется выполнение программы со строки, непосредственно следующей за строкой, вызвавшей ошибку. Однако если в процедуру обработки ошибок включена команда RETRY, то будет повторно выполнена вызвавшая ошибку строка программы.
Если команда определяет процедуру, выполняемую в случае ошибки, то с помощью функций ERROR( ), MESSAGE( ), LINENO( ) и PROGRAM( ) можно передать в эту процедуру номер ошибки, сообщение об ошибке, номер строки программы и имя программы. Эту информацию можно использовать при устранении причины ошибки.

Комментарии:
Когда во время выполнения программы обнаруживается ошибка, Visual FoxPro выполняет команду, заданную с помощью ON ERROR. Обычно в команде ON ERROR используется команда DO, инициирующая процедуру обработки ошибок.
Используйте ON ERROR без команды, чтобы восстановить обработчик ошибок Visual FoxPro, используемый по умолчанию.
Процедуры ON ERROR не могут быть вложенными. Если выдать команду ON ERROR внутри процедуры ON ERROR, восстанавливается обработчик ошибок Visual FoxPro, используемый по умолчанию.

Пример:

ON ERROR DO errhand WITH ;
	ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )
*** The next line should cause an error ***
USE nodatabase
ON ERROR  && restore system error handler
PROCEDURE errhand
PARAMETER merror, mess, mess1, mprog, mlineno
CLEAR
? 'Error number: ' + LTRIM(STR(merror))
? 'Error message: ' + mess
? 'Line of code with error: ' + mess1
? 'Line number of error: ' + LTRIM(STR(mlineno))
? 'Program with error: ' + mprog

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.