admin管理员组文章数量:1532160
2023年12月18日发(作者:)
如何用ON ERROR调试程序 电脑资料
如何用 ON ERROR 来调试应用程序 FoxPro 提供了 ON ERROR 命令来允许编程者捕捉应用程序中出现的特定错误. 本文说明如何使用一个错误捕捉例程保存有关的调试信息到一个 FoxPro 表中. 本文中的代码捕捉出现在 FoxPro 应用程序中的错误并保存以下信息到一个表中: · 错误出现的计算机名. · 错误号. · 错误信息. · 如果源代码可用, 发生错误的源代码. · 发生错误的程序. · 发生错误的行号. · 错误发生时最近选定的表. · 错误的日期和时间. 应用程序中的错误的语法和逻辑会产生许多可捕捉错误. 有些出现在应用程序中的错误在被最终用户测试前是不可知的.
当默认的 FoxPro 错误信息显示对于程序员来说是有用的信息时,
它的出现可能会使最终用户糊涂. 同样, 当应用程序执行时, 最终用户通常很少有时间小心的注意并错误的出现. 在没有人提供错误报告时, 这些代码也有助于检验断断续续出现的错误的原因. 用以下代码创建一个叫做 的程序:
ON ERROR DO errhand IN errutil ;
WITH SYS(0), ERROR(), MESSAGE(), MESSAGE(1), ;
PROGRAM(), LINENO(1), DBF(), DATE(), TIME() * 错误捕捉设置结束.
PROCEDURE errhand PARAMETER m. ___chine, um,
, de, ; og, , BL,
e, ;
e ___=SELECT() && 保存当前工作区.
er=ORDER() && 保存当前排序.
IF LEN(ALLTRIM(og))=0
og="Com ___nd Line"
STORE SPACE(0) TO de
ENDIF
utmsgline="错误 ; "++CHR(13)+"行号
"+STR()+ ; CHR(13)+ ; "程序名 =
"+og+CHR(13)+"语法 :"+de * Visual FoxPro 用户使用 =MESSAGEBOX(outmsgline,32+0) * FoxPro For Windows 用
户使用 中的 MsgBox() 函数 WAIT WINDOW
outmsgline TIMEOUT 5 && 所有版本均可使用该语法.
IF !USED("ERRORLOG")
IF FILE("")
SELECT 0 USE errorlog ELSE SELECT 0 thisversion=VERSION()
IF LEFT(ALLTRIM(thisversion),6)="Visual" * 为 Visual FoxPro
版本创建一个自由表
CREATE TABLE errorlog FREE ( ___chine 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 ( ___chine 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 ( ___) && 返回到保存的工作区.
IF !EMPTY(ALIAS())
SET ORDER TO (er)
ENDIF
RELEASE ALL LIKE um, , de,
og,
RETURN
用以下代码创建一个名为 的程序:
DO errutil && 激活 中的 ON ERROR 例程.
USE c: && 因为该文件尚不存在因此会发生错误
DO C: ON ERROR && 关闭活动的 ON ERROR 例程.
在 Visual FoxPro 命令窗口中打入以下命令: Do . 两个
Wait 窗口显示出不愉快的错误代码行. 这些信息被放入
文件中. 5 秒钟后窗口消失. 激活命令窗口, 然后打开并浏览 Errorlog 表.
模板,内容仅供参考
版权声明:本文标题:2021年如何用ON ERROR调试程序 电脑资料 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1702845083a27024.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论