err_get.prg

来自「一个有关电力系统收费的管理软件」· PRG 代码 · 共 35 行

PRG
35
字号


ON ERROR DO errhand IN err_get WITH SYS(0), ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO(1), DBF(), DATE(), TIME()  && 错误捕捉设置结束.  

PROCEDURE errhand  

	PARAMETER m.machine, m.messgnum, m.messg, m.linecode, m.callprog, m.inline, m.OPENTABL, m.errdate, m.errtime

	m.errspace=SELECT()      && 保存当前工作区.  
	m.errorder=ORDER()       && 保存当前排序.  
	IF LEN(ALLTRIM(m.callprog))=0  
		m.callprog="Command Line"  
	    STORE SPACE(0) TO m.linecode  
	ENDIF

	IF !USED("ERRORLOG")  
		IF FILE("ERRORLOG.DBF")  
	    	SELECT 0  
	     	USE errorlog  
	  	ELSE
        	CREATE TABLE errorlog FREE (machine c(20), messgnum N(4,0), messg c(70), linecode c(70), callprog c(40), inline N(6,0), opentabl c(100), errdate d, errtime c(8))  
	    ENDIF
	ENDIF
	INSERT INTO errorlog FROM MEMVAR  
	SELECT errorlog                  && 选择 errorlog 表.  
	USE                              && 关闭 errorlog 表.  
	SELECT (m.errspace)              && 返回到保存的工作区.  
	IF !EMPTY(ALIAS())  
	  	SET ORDER TO (m.errorder)  
	ENDIF

	do form my_error

endproc

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?