相关疑难解决方法(0)

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

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

vb6 error-handling

15
推荐指数
3
解决办法
2万
查看次数

类模块中断与未处理错误中断(VB6错误捕获,IDE中的选项设置)

基本上,我试图理解Visual Basic 6.0 IDE中以下路径中出现的"Break in Class Module"和"Break on Unhandled Errors"之间的区别:

Tools --> Options --> General --> Error Trapping
Run Code Online (Sandbox Code Playgroud)

这三个选项似乎是:

  • 打破所有错误
  • 打破课堂模块
  • 打破未处理的错误

现在,显然,根据MSDN,第二个选项(Break in Class Module)实际上只是意味着"打破类模块中未处理的错误".此外,此选项似乎默认设置(即:我认为它设置为开箱即用).

我想弄清楚的是,如果我选择了第二个选项,我是否可以免费获得第三个选项(Break on Unhandled Errors)?那么,它是否默认包含在类模块频谱之外的所有场景中?建议,我目前活跃的项目中没有任何类模块.我有.bas模块.另外,是否有可能通过Class Mdules他们可能也指正常的.bas模块?(这是我的第二个子问题).

基本上,我只是希望设置确保exe释放后不会有任何意外.我希望在开发时尽可能多地显示错误,并且在处于释放模式时不显示.通常,我的表单上有两种类型的On Error Resume Next,没有明确的错误处理,它们如下:

在错误恢复接下来'必须在错误恢复接下来'不是必需的

所需要的是,检查一个数组是否有任何长度,如果调用它的UBound错误,这意味着它没有长度,如果它返回值0或更多,那么它确实有长度(因此,存在).即使在我开发过程中,这些类型的错误语句也需要保持活动状态.但是,在我开发的过程中,不需要的那些不应该保持活动状态,因此我将它们全部注释掉以确保我能够捕获所有存在的错误.

一旦我准备好释放exe,我会按CTRL + H查找所有出现的:

'错误继续下一步'不需要

(您可能已经注意到它们被注释掉了)......并将它们替换为:

On Error Resume Next'不需要

...未注释的版本,因此在发布模式下,如果有任何剩余错误,它们不会向用户显示.

有关MSDN对三个选项的描述的更多信息(我已阅读两次但仍然找不到),您可以访问以下链接:

http://webcache.googleusercontent.com/search?q=cache:yUQZZK2n2IYJ:support.microsoft.com/kb/129876&hl=en&lr=lang_en%7Clang_tr&gl=au&tbs=lr:lang_1en%7Clang_1tr&prmd=imvns&strip=1

我也有兴趣听你的想法,如果你想做志愿者(这将是我的暂定/完全可选的第三个子问题,那就是你对后备错误处理技术的想法).

总结一下,前两个问题是,如果我们选择选项2,我们是否将选项3包含在所有非类场景中?而且,当他们使用术语"类模块"时,它们可能也指的是.bas模块吗?(因为.bad模块实际上只是一个在启动期间在后台预先实例化的类模块).

谢谢.

vb6 error-handling compiler-errors compiler-options visual-studio

7
推荐指数
1
解决办法
2205
查看次数