FoxBASE+错误捕获程序 朱才军 1997-01-01 #3  对于FoxBASE+的用户来讲,程序调试是件非常麻烦的事情,特别是大的管理系统。因为FoxBASE+不像PASCAL、C等高级语言那样由编译系统检查错误,并能直接返回到源程序中,FoxBASE+只能在运行时查错,修改后不能返回到源程序。前一个问题是系统本身的问题,不能解决,但后一个问题是可以由用户自行解决的,笔者自己编制了一个小程序,具体如下: #3  **错误捕获及处理程序**ERR.PRG**   CLEAR   ?'程序'+SYS(16,1)+'中出现错误!'   ?'出错语句'+STR(error(),4)   ?'错误信息:+MESSAGE()   a=SYS(16,1)   *将错误语句所在程序名赋给a   YN=' '   @5,0 SAY '修改(M) 跳过(J) 退出(Q) 请选择!'   @5,30 GET YN VALID YN $ "MJQ" PICT '!'   READ   DO CASE   CASE YN='M'   MODI COMM &a   RETURN   *选择'M',则返回原程序进行修改,修改完后存盘,系统自动从原错误处开始继续运行程序   CASE YN='Y'   RETURN   *选择'J',则忽略错误,继续向下执行程序   CASE YN='Q'   QUIT   *选择'Q',则关闭所有文件,并退出系统   ENDCASE   RETURN   使用该程序,只需将该程序拷到需调试程序所在的目录下,然后在需调试程序首部加上命令语句ON ERROR DO ERR就可以了 #3  调用举例   **EXP.PRG**   ON ERROR DO ERR   ?A   ?B   ?C   ON ERROR   RETURN