Процедура регистрации ошибок

Регистрация ошибок происходящих в программе и сохранение результата в текстовом файле

Процедура регистрации ошибок

Вызов процедуры
ON ERROR DO errhand WITH ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

Тело процедуры
Результат выводится в текстовый файл out_err.txt и окно ошибок,

PROCEDURE errhand
PARAMETER merror, MESS, mess1, mprog, mlineno

IF FILE("out_err.txt") && определяем есть ли файл для записи ошибок
gnerrorfile=FOPEN('out_err.txt',12)
ELSE
gnerrorfile = FCREATE('out_err.txt') && If not create it
ENDIF

= FSEEK(gnerrorfile, 0, 2) && указатель записи на конец файла
* пишем в конец файла данные об ошибке
= FPUTS(gnerrorfile,"===================================")

= FPUTS(gnerrorfile, DTOC(DATE()) + " "+TIME())
error1 = 'Error number: ' + ALLTRIM(STR(merror))
= FPUTS(gnerrorfile, error1)
= FPUTS(gnerrorfile, 'Error message: ' + MESS)
= FPUTS(gnerrorfile, 'Line of code with error: ' + mess1)
= FPUTS(gnerrorfile, 'Line number of error: ' + LTRIM(STR(mlineno)))
= FPUTS(gnerrorfile, 'Program with error: ' + mprog)
= FFLUSH(gnerrorfile)
*!* Выводим сообщение на экран
? CHR(7)
m_11 = error1 +chr(13)+;

'Error message: ' + MESS +chr(13) + ;
'Line of code with error: ' + mess1 +chr(13)+ ;
'Line number of error: ' + LTRIM(STR(mlineno)) + chr(13)+ ;
'Program with error: ' + mprog
=FCLOSE(gnerrorfile)
m_bb=MESSAGEBOX(m_11, 1, dflabel)
DO CASE
CASE m_bb = 1
* нет действий
CASE m_bb = 2
CANCEL
clea all
ENDCASE
RETURN

A.Пинигин, СБОРНИК прибамбасов для VFP по материалам конференций, литературы и собственных разработок. г. Рига E-mail: apinigin@olainfarm.lv

Автор: A.Пинигин

Автор публикации

не в сети 4 месяца

Joys

2
Комментарии: 4Публикации: 227Регистрация: 25-06-2000
0
Оставить комментарий
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
Генерация пароля