当前位置:  开发笔记 > 编程语言 > 正文

什么是处理VB6中的错误的更好方法

如何解决《什么是处理VB6中的错误的更好方法》经验,为你挑选了2个好方法。

我有VB6应用程序,我想在其中放入一些好的错误处理功能,它可以告诉我错误是什么,确切地点发生时,有人可以建议这样做的好方法



1> Kris Erickso..:

首先,获取Visual Basic 6的MZTools,它是免费且无价的.第二,在每个函数上添加一个自定义错误处理程序(是的,每个函数).我们使用的错误处理程序看起来像这样:

On Error GoTo {PROCEDURE_NAME}_Error

{PROCEDURE_BODY}

    On Error GoTo 0
    Exit {PROCEDURE_TYPE}

{PROCEDURE_NAME}_Error:

   LogError "Error " & Err.Number & " (" & Err.Description & ") in line " & Erl & _
            ", in procedure {PROCEDURE_NAME} of {MODULE_TYPE} {MODULE_NAME}"

然后创建一个LogError函数,将错误记录到光盘.接下来,在您发布代码之前,为每个函数添加行号(这也包含在MZTools中).从现在开始,您将从错误日志中了解发生的所有事情.如果可能,还要上传错误日志并实际从现场检查它们.

这是关于VB6中的意外全局错误处理(其中许多缺陷之一)所能做的最好的事情,实际上这应该仅用于查找意外错误.如果您知道如果在某种情况下可能发生错误,您应该捕获该特定错误并处理它.如果您知道某个部分中发生的错误将导致不稳定(文件IO,内存问题等)警告用户并且知道您处于"未知状态"并且"坏事"可能会发生.显然使用友好的术语来保持用户的信息,但不要害怕.



2> 小智..:

没有附加模块的简单方法,对类模块很有用:

抢占每个函数/ subs:

On Error Goto Handler

处理器/ bubbleup:

Handler:
  Err.Raise Err.Number, "(function_name)->" & Err.source, Err.Description

瞧,贫民区堆栈痕迹.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有