|
错误处理代码
出处:网络
本错误程序可将程序发生的错误信息保存到一个表以便程序员对程序进行修改。
在主程序中写入以下代码
set default to sys(5)+sys(2003) &&设置软件所在的目录
Default_Path=sys(5)+sys(2003)
*---------------------初始化系统变量------------------------
ERR_FILE =Default_Path+"\data\ERR_DBF.DBF" &&程序出错库 9
ON ERROR DO ERR_PRG WITH PROGRAM(),LINENO(),ERROR(),MESSAGE(),MESSAGE(1) &&定义错误处理程序
SET PROCEDURE TO tools ADDITIVE
过程文件:
文件名:tools .prg
*-----------------错误处理代码段-----------------
PROCEDURE ERR_PRG
PARAMETERS M_PROGRAM,M_LINEO,M_ERROR,M_MESSAGE,M_1
WORK_=SELE()
SELE 19
IF NOT(FILE(ERR_FILE))
CREATE TABLE(ERR_FILE) (错误程序名 C(40),行号 C(5),错误信息 C(40),错误内容 C(40),错误代码
C(5),出错日期 C(8),出错时间 C(8))
INSERT INTO &ERR_FILE (错误程序名,错误信息,出错日期) valueS ("主程序","创建出错库",DTOS(DATE()))
INDE ON 出错日期 TAG 出错日期
USE
Set Exclusive Off &&重新定义共享方式打开
ELSE
USE &ERR_FILE SHAR
APPE BLANK
REPL 错误信息 WITH M_MESSAGE,错误内容 WITH M_1,出错日期 WITH DTOS(DATE()),出错时间 WITH
TIME(),错误程序名 WITH M_PROGRAM,;
行号 WITH LTRIM(STR(M_LINEO)),错误代码 WITH LTRIM(STR(M_ERROR))
ENDIF
USE IN 19
SELE (WORK_)
=MESSAGEBOX(M_MESSAGE+CHR(13)+CHR(13)+"程序运行错误,请与作者联系!",16,"系统信息")
QUIT &&显示错误消息后,退出程序
RETURN
[返回]
|