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

2019-05-12 09:13发布

基本上,我想明白了“在类模块破发”的区别,“断开处理错误”出现在以下路径下的Visual Basic 6.0 IDE:

Tools --> Options --> General --> Error Trapping

三个选项似乎是:

  • 打破所有错误
  • 打破类模块
  • 打破处理错误

现在,很显然,根据MSDN,第二个选项(打破类模块)实际上只是意味着“打破类模块中处理错误”。 此外,此选项似乎被默认设置(即:我认为它设置为这个开箱)。

我试图搞清楚的是,如果我选择了第二个选项,我免费获得了第三个选项(中止处理错误)? 在这方面,它得的默认类模块光谱之外的所有场景包括在内? 要提醒,我没有在我的当前活动项目中的任何类模块。 我有.BAS模块虽然。 此外,有可能的是,通过类Mdules它们可以是指正常.BAS模块以及? (这是我第二次问题)。

基本上,我只是想设置,以确保不会有任何惊喜,一旦exe文件被释放。 我想尽可能多的错误,而我正在开发显示成为可能,并在释放模式时显示非。 通常情况下,我有两个类型上的错误的继续下一步我的形式那里没有明确的错误处理,有如下几点:

在错误恢复下一步“需要在错误恢复下一步” NOT REQUIRED

所需的有东西等,检查是否一个阵列具有任意长度,如果其UBound函数错误出呼叫时,这意味着它不具有长度,如果它返回一个值0以上时,则它确实有长度(并因此,存在)。 这些类型的错误报表需要保持甚至当我开发活跃。 然而,不必需的那些不应该保持活跃,而我正在开发,所以我让他们都注释掉,以确保我抓住存在的所有错误。

一旦我准备释放的exe,我做了CTRL + H找到的所有出现:

“在错误继续下一步” NOT REQUIRED

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

在错误恢复下一步'NOT REQUIRED

...未注释的版本,所以在释放模式,如果有任何剩余的错误,他们不显示给用户。

欲了解更多关于通过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

我也愿意听取你的想法,如果你觉得好像自愿它们(这将是我试探性/完全可选的第三子问题,即存在,你就退一步错误处置技术的想法)。

只是为了总结一下,前两个问题是,我们是否得到包含在所有非阶级的场景选项3,如果我们选择选项2? 而且,是有可能,当他们使用的术语“类模块”,他们可能是指.BAS模块呢? (在启动期间由于.BAD模块实际上只是一个类模块是预实例在背景中)。

谢谢。

Answer 1:

我会第一个选项启动。 对所有错误中断仅仅关闭您的错误处理程序。 这是当你试图调试你置于错误处理程序后,因为你可以有错误,在处理程序本身,或当误差堆满了集装箱层次结构,你可以失去跟踪的误差发生的地点(即AREN错误非常有用“T在过程中试图找到一个调用过程中的处理程序,如果你想找到问题的代码行),这可能会造成混淆处理。

接下来,对未处理的错误决裂实际上并不在类模块分解如果代码中存在导致错误的线路。 如果你有这个选项设置,并在类调用一个方法,并且有一个错误的代码的方法行,你会打破上具有方法调用系统在用户端线。

歇类模块中去的代码有错误的类行。 一个警告的情况是,如果你使用ActiveX EXE工作,控制设置在其项目,而不是在客户端项目。 也就是说,你可以在你的客户项目中设置的所有错误破发,并在您的ActiveX EXE项目设置未处理的错误决裂,因为你正在使用两个独立的进程的工作,你就不会在类模块中突破。

我宁愿亲自去把它设置在类模块中休息,因为它让我钻到误差与最精确的部位。 这之前,我开始做错误处理,虽然; 在这一点上我一般反弹,所有三个,这取决于我试图稳定。

最后,我不建议使用EVER上的错误继续下一步除了在联错误处理的上下文。



Answer 2:

是的,当你选择“类模块中破发”,但它仍然打破未处理的错误,但它也将打破类模块中未类模块本身处理的任何错误(不是普通的模块)。

对比这将导致在里面使它很难跟踪的确切位置发生错误,它的类/用户控制代码的退出走出去“的未处理的错误打破”。

这也可能是最好离开它的一般发展为别人“的未处理的错误中断”设置会得到恼人当你处理这是良性的错误。 请注意,这是最好的尝试,并检测这些他们虽然引发错误之前。



文章来源: Break in Class Module vs. Break on Unhandled Errors (VB6 Error Trapping, Options Setting in IDE)