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

2023-11-27

基本上,我试图了解 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 模块实际上只是一个在启动期间在后台预先实例化的类模块)。

谢谢。


我将从第一个选项开始。中断所有错误只会禁用您的错误处理程序。当您在放入错误处理程序后尝试进行调试时,这非常有用,因为处理程序本身可能存在错误,或者当错误在容器层次结构中冒泡时,您可能会丢失错误发生的位置(错误是尝试在调用过程中查找处理程序时未在过程中处理,如果您试图查找有问题的代码行,这可能会令人困惑)。

接下来,如果类模块中有一行代码导致错误,则未处理错误的中断实际上不会中断类模块。如果您设置了此选项,并且调用类中的方法,并且该方法中的代码行存在错误,则您将在客户端中具有该方法调用的行上中断。

类模块中的中断转到类中出现错误的代码行。需要注意的是,如果您使用的是 ActiveX EXE,则控制设置位于其项目中,而不是客户端项目中。也就是说,您可以中断客户端项目中设置的所有错误,并中断 ActiveX EXE 项目中设置的未处理错误,并且不会中断类模块,因为您正在处理两个单独的进程。

我个人更喜欢在类模块中将其设置为中断,因为它可以让我以最精确的方式深入到错误位置。不过,这是在我开始执行错误处理程序之前;那时我通常会在这三个方面进行调整,具体取决于我想要稳定的目标。

最后,我不建议使用 On Error Resume Next,除非在内联错误处理的上下文中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类模块中断与未处理错误中断(VB6 错误捕获、IDE 中的选项设置) 的相关文章

  • 如何在 TypeScript 中禁用/抑制库中的错误?

    我打开了一些编译器开关来报告代码中的更多问题 例如严格的空检查 但我在使用的库中遇到了数十个错误 例如 default xxx node modules angular core src util decorators d ts 11 5
  • 关闭文件后未保存展开/折叠状态

    在 Visual Studio 中 您可以在不使用区域的情况下展开和折叠代码 例如在代码隐藏页面中您可以折叠方法等 而在 ASPX 页面中您可以折叠标签 标签等 当您的页面很长并且您希望将开发重点放在特定部分时 它非常有用 它的一个很酷的地
  • VS2010 RC - 调试器中只有 100 个 std::map 元素

    当我想查看 std map 容器的所有元素时 在 VS 2010 RC 中调试我的应用程序时遇到一个小问题 当调试器到达断点并且我想检查元素检查器中的映射值 在 本地 窗口中以及用鼠标悬停变量名称后的弹出窗口中 并且我正在向下滚动列表元素它
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 有什么方法可以设置每个解决方案的颜色选项(VS2010)?

    有没有办法配置VS2010为不同的解决方案使用不同的配色方案 在 20 世纪 90 年代的 Macintosh 上 我可以将 wctb 资源添加到文档中 以便它们可以使用不同的配色方案打开 这样可以更轻松地找到要单击的正确窗口 并且还有助于
  • 可插入错误处理策略[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有服务对象 服务 A 它有一些特定的重复异步任务 该服务对象还有一个监督对象 服务B 我想处理与服务 A 中特定任务相关的大部分错误
  • Visual Studio 中的 C++ 代码片段支持吗?

    我正在用本机 C 而不是 C CLR 编写代码 我知道片段管理器和片段选择器接口没有对 C 的内置支持 但是我发现了一个名为 snippy 的实用程序 据说它可以生成 C 片段 这是程序生成的 C 代码片段
  • 如何在 Visual Studio 中搜索并让它忽略注释掉的内容?

    我正在 Visual Studio 2005 中重构 C 代码库 我现在已经完成了这个过程的一半 我已经注释掉了很多旧代码并替换或移动了它 现在我正在搜索 看看下一步必须更改 但搜索功能不断为我带来我不再关心的旧注释掉的内容 我还不想删除旧
  • C# - 继承WPF布局 - Window from Window

    我的 Window 继承有问题 我不明白问题是什么 我认为 我的布局 MediaLibrary xaml 必须继承 MainWindow 但我不知道该怎么做 有2类 主窗口 xaml
  • Visual Studio IDE 中功能后的空间

    如何设置 Visual Studio 中的设计以在我的 javascript 函数后面放置一个空格 目前 当我按下返回键时 我得到了这个 var myfunc function 当我想要这个的时候 var myfunc function 知
  • 为什么版本控制系统缺乏 Visual Source Safe 的共享功能?您使用并认为哪些源代码控制值得尝试?

    我们正在寻找一种版本控制系统来改变我们当前的源安全系统 我们将它与 Visual Studio 一起使用 到目前为止 我们已经失败了 主要原因是我们看到的所有替代方案都不支持 VSS 的一项或多项功能 尤其是我们广泛使用的一项 文件共享 那
  • 是否可以在 Visual Studio 中重命名项目,使其文件夹名称也重命名?

    假设我们正在开发一个名为 MyProject 的项目 我希望能够将其名称更改为 MyProject2 并将其文件夹名称也重命名为 MyProject2 这可以从 Visual Studio 中实现吗 如果不是 如何让这种情况发生在 外部 呢
  • 为什么我不能将左大括号放在下一行?

    当我尝试编译以下代码时遇到奇怪的错误 package main import fmt fmt func main var arr 3 int for i 0 i lt 3 i fmt Printf d arr i 错误如下 unexpect
  • 如何在 Visual Studio 2010 Professional 中启用代码分析?

    我可以看到我们可以在 Visual Studio Team Systems 中启用代码分析 但我使用的是 Visual Studio 2010 Professional 我们是否可以选择在此版本中启用代码分析 或者我们可以将 FxCop 和
  • C# 开发人员有什么理由应该学习 Emacs/Vim 吗?

    我在一家纯粹的 Microsoft 商店担任 C 开发人员 最近 我开始在工作之余的空闲时间使用 Gas 和 Linux 自学汇编 我喜欢摆弄 Linux 尽管我对它还很陌生 我一直听说我应该学习 VIM 或 Emacs 但事实是 我绝对不
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • Visual Studio 空引用警告 - 为什么没有错误?

    我注意到 Visual Studio 的一些特殊之处 首先 尝试在函数中的某个位置键入以下内容 C class Foo public void Bar string s int i s Length 现在 它会立即标记s in s Leng
  • 如果没有 /// 标签,TypeScript 的“将 JavaScript 输出合并到文件中”选项无法推断出正确的脚本顺序

    我正在开发一个使用 将 JavaScript 输出合并到文件中 选项的 TypeScript 解决方案 我经常引用另一个文件中定义的项目 例如 In MyBaseClass ts export class MyBaseClass In My
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运

随机推荐

  • 注释中的通用类型

    考虑以下代码 import java lang annotation Retention import java lang annotation RetentionPolicy public class AnnotationTest Gen
  • Azure 应用程序网关的自定义域

    我正在尝试使用自定义域名创建应用程序网关 但不断收到错误消息 无法指定域名标签 我想知道我是否做错了什么或者天蓝色应用程序网关不可能拥有自定义域名 以下是我在天蓝色应用程序网关方面学到的经验教训 1 Application gateway
  • Firebase Android 离线性能

    当单个节点下存储大约 5000 个子节点时 在使用离线功能时初始化 firebase 会变得非常慢 执行第一个查询大约需要 30 秒 初始化后 执行后续查询 例如列出前 25 个子节点 只需不到一秒的时间 我正在利用以下属性来启用离线功能
  • Grails 中的多个文件上传

    我正在努力整合优秀的来自 blueimp 的 jquery 文件上传进入 Grails 2 0 并为此编写一个新插件 我知道有已经是插件了 但它不使用资源 并且已经9个月没有更新了 jquery file upload在那段时间发生了很大的
  • 收集器的组合器功能可以用于顺序流吗?

    示例程序 public final class CollectorTest private CollectorTest private static
  • 如何用符号表示用户通过电子邮件发送给我的 Mac OS X 应用程序崩溃报告?

    我正在开发一个应用程序 我已将其发送给一些测试人员 在启动应用程序的短短几分钟内 用户就遇到了崩溃 当弹出窗口说应用程序崩溃时 他复制了详细信息部分中的所有文本并将其通过电子邮件发送给我 我已将文本保存到纯文本文件中 并为其指定了 cras
  • OOP 中的工厂是什么

    我对 工厂相关 设计模式及其 OOP 实现的理解一直非常简单 A 工厂方法 是类内部的方法 该方法具有接口 或抽象类 作为返回类型 并基于某些内部逻辑构造实现该接口的对象 A 工厂 是一个只包含工厂方法的类 An 抽象工厂 是一个仅包含工厂
  • 在 Javascript 中激活链接

    我在使用 Javascript 时遇到一些问题 事实上 我只是该脚本语言的新手 所以我需要一些帮助 问 如何激活此链接 a href box1 something a 该链接只是指向位于index html 文件中的div 的链接 因此没有
  • 使用 2 个索引验证 Codeigniter 中的 UNIQUE 字段

    在 Codeigniter 框架中 我可以使用 表单验证类 验证 MYSQL 数据库中的唯一字段 示例 this gt form validation gt set rules form field form label is unique
  • Hibernate buildSessionFactory() 异常

    我的休眠有一个严重的问题 我遵循了各种书籍和在线教程 但我得到了同样的异常 ExceptionInInitializerError 显然是由 HibernateUtil java 行抛出的 SessionFactory sf cfg con
  • Django - 自定义过滤器检查文件是否存在

    我制作了这个自定义过滤器来检查图像是否存在 from django import template from django core files storage import default storage register templat
  • MySQL 中区分大小写的排序规则

    MySQL 中是否有支持区分大小写的排序规则类型 我在 MySQL 中有所有类型的排序规则 它们的名称末尾都有 ci 因此它们是不区分大小写的排序规则 根据MySQL手册http dev mysql com doc refman 5 0 e
  • 从 windows 转向 *nix 编程平台

    在windows上呆了10多年 如何迁移到 nix平台 哪种口味更容易处理 让我更舒服 然后也许我可以切换到更标准的 nix 口味 我已经推迟了一段时间了 帮我额外的推动 Linux 是最易于访问且具有最成熟的桌面功能的 BSD in it
  • PostgreSQL DISTINCT ON 具有不同的 ORDER BY

    我想运行这个查询 SELECT DISTINCT ON address id purchases address id purchases FROM purchases WHERE purchases product id 1 ORDER
  • 为什么我得到 [object HTMLParagraphElement]

    我是新手 这是我的代码 p Jack p
  • Baum-Welch 实施示例

    我正在尝试了解 Baum Welch 算法 与隐马尔可夫模型一起使用 我了解前向 后向模型的基本理论 但如果有人能用一些代码来帮助解释它 那就太好了 我发现阅读代码更容易 因为我可以尝试理解它 我检查了github和bitbucket 没有
  • +ve 个整数的连续子数组的第 K 个最大总和,复杂度为 O(nlogS)

    我正在读书this社论并对这个声明感到困惑 如果数组元素都是非负的 我们可以使用二分查找在 O n log S 时间内找到答案 其中 S 是子数组的最大和 谁能解释一下上面的说法 假设我们有一个数组sum 在索引处ith存储从 0 到 的所
  • 在什么情况下 AJAX 长/短轮询优于 HTML5 WebSockets?

    我正在为朋友构建一个小型聊天应用程序 但不确定如何及时获取信息 这不像强制页面刷新那样手动或初级 目前 我正在使用简单的 AJAX 来实现此功能 但这有一个缺点 即在很短的计时器过去时会定期访问服务器 在研究长 短轮询时 我遇到了 HTML
  • jQuery 验证多个不相等的输入

    我已经设法在我的表单上设置 jQuery 验证插件 并为两个字段提供了规则 其中它们的值不应匹配 具体来说 email 和 email 2 输入现在不能相同 但这是可行的 但我真正需要的是以相同的方式验证多个输入 在本例中为 4 个输入 我
  • 类模块中断与未处理错误中断(VB6 错误捕获、IDE 中的选项设置)

    基本上 我试图了解 Visual Basic 6 0 IDE 中以下路径下出现的 类模块中断 和 未处理错误中断 之间的区别 Tools gt Options gt General gt Error Trapping 这三个选项似乎是 发生