基本上,我试图了解出现在以下路径下的 Visual Basic 6.0 IDE 中的“Break in Class Module”和“Break on Unhandled Errors”之间的区别:
Tools --> Options --> General --> Error Trapping
这三个选项似乎是:
- 打破所有错误
- 打破课堂模块
- 中断未处理的错误
现在,显然,根据 MSDN,第二个选项(Break in Class Module)实际上只是意味着“Break on Unhandled Errors in Class Modules”。此外,此选项似乎是默认设置的(即:我认为它设置为开箱即用)。
我想弄清楚的是,如果我选择了第二个选项,我是否可以免费获得第三个选项(Break on Unhandled Errors)?在那,它是否默认包含在类模块范围之外的所有场景中?建议,我当前活动的项目中没有任何类模块。我有 .bas 模块。另外,Class Mdules 是否也有可能指的是普通的 .bas 模块?(这是我的第二个子问题)。
基本上,我只是希望设置确保一旦发布 exe 就不会出现任何意外。我希望在开发时显示尽可能多的错误,而在发布模式下不显示。通常,我的表单上有两种类型的 On Error Resume Next,其中没有明确的错误处理,它们如下:
错误恢复下一个 ' 需要 错误恢复下一个 ' 不需要
需要的是,检查数组是否有任何长度,如果对其 UBound 的调用出错,这意味着它没有长度,如果它返回值 0 或更大,那么它确实有长度(因此, 存在)。即使在我开发过程中,这些类型的错误语句也需要保持活跃。但是,NOT REQUIRED 不应该在我开发时保持活动状态,因此我将它们全部注释掉以确保我捕获所有存在的错误。
一旦我准备好发布 exe,我会执行 CTRL+H 来查找所有出现的情况:
'On Error Resume Next' 不需要
(您可能已经注意到它们被注释掉了)......并将它们替换为:
On Error Resume Next ' 不需要
... 未注释的版本,因此在发布模式下,如果有任何遗留错误,它们不会显示给用户。
有关 MSDN 对三个选项的描述的更多信息(我已经阅读了两次,但仍然觉得不够),您可以访问以下链接:
如果您愿意自愿提供他们的想法,我也很想听听您的想法(这将是我的试探性/完全可选的第三个子问题,即您对后备错误处理技术的想法)。
总结一下,前两个问题是,如果我们选择选项 2,我们是否会在所有非类场景中包含选项 3?而且,当他们使用术语“类模块”时,他们是否也可能指的是 .bas 模块?(因为 .bad 模块实际上只是一个在启动期间在后台预先实例化的类模块)。
谢谢你。