打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何用ON ERROR调试程序——全视网在线教程频道编程数据栏目
如何用 ON ERROR 来调试应用程序 FoxPro 提供了 ON ERROR 命令来允许编程者捕捉应用程序中出现的特定错误. 本文说明如何使用一个错误捕捉例程保存有关的调试信息到一个 FoxPro 表中. 本文中的代码捕捉出现在 FoxPro 应用程序中的错误并保存以下信息到一个表中: · 错误出现的计算机名. · 错误号. · 错误信息. · 如果源代码可用, 发生错误的源代码. · 发生错误的程序. · 发生错误的行号. · 错误发生时最近选定的表. · 错误的日期和时间. 应用程序中的错误的语法和逻辑会产生许多可捕捉错误. 有些出现在应用程序中的错误在被最终用户测试前是不可知的. 当默认的 FoxPro 错误信息显示对于程序员来说是有用的信息时, 它的出现可能会使最终用户糊涂. 同样, 当应用程序执行时, 最终用户通常很少有时间小心的注意并报告错误的出现. 在没有人提供错误报告时, 这些代码也有助于检验断断续续出现的错误的原因.
用以下代码创建一个叫做 Errutil.prg 和程序.
ON ERROR DO errhand IN errutil ; 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 outmsgline="错误 ; "+m.messg+CHR(13)+"行号 "+STR(m.inline)+ ; CHR(13)+ ; "程序名 = "+m.callprog+CHR(13)+"语法 :"+m.linecode * Visual FoxPro 用户使用 =MESSAGEBOX(outmsgline,32+0) * FoxPro For Windows 用户使用 Foxtools.fll 中的 MsgBox() 函数 WAIT WINDOW outmsgline TIMEOUT 5 && 所有版本均可使用该语法.
 IF !USED("ERRORLOG") IF FILE("ERRORLOG.DBF") SELECT 0 USE errorlog ELSE SELECT 0 thisversion=VERSION() IF LEFT(ALLTRIM(thisversion),6)="Visual" * 为 Visual FoxPro 版本创建一个自由表
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(25), errdate d, errtime c(8)) ELSE CREATE TABLE errorlog (machine c(20), messgnum N(4,0), ; messg c(70), linecode c(70), callprog c(40), ; inline N(6,0), OPENTABL c(25), errdate d, errtime c(8)) ENDIF ENDIF ENDIF INSERT INTO errorlog FROM MEMVAR SELECT errorlog && 选择 errorlog 表. USE && 关闭 errorlog 表. SELECT (m.errspace)   && 返回到保存的工作区.
 IF !EMPTY(ALIAS()) SET ORDER TO (m.errorder) ENDIF RELEASE ALL LIKE m.messgnum, m.messg, m.linecode, m.callprog, ; m.inline RETURN 用以下代码创建一个名为 Ztest.prg 的程序: DO errutil && 激活 Errutil.prg 中的 ON ERROR 例程. USE c:\noexist.dbf && 因为该文件尚不存在因此会发生错误 DO C:\noexist.prg ON ERROR && 关闭活动的 ON ERROR 例程. 在 Visual FoxPro 命令窗口中打入以下命令: Do ZTest.prg. 两个 Wait 窗口显示出不愉快的错误代码行. 这些信息被放入 Errorlog.dbf 文件中. 5 秒钟后窗口消失. 激活命令窗口, 然后打开并浏览 Errorlog 表.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
今天,VF,我不多说了.(绝对原创,身边的谁要没看到可不怪我没通知,睡了ZZZZZZZZZ...
在vfp编程中另存为对话框的程序如何写
VFP程序代码(二)<br>
VFP设计窗口登录
文本框的应用技巧
在Visual FoxPro中利用数据库表文件的结构文件实现通用报表的打印
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服