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