为什么除了没有捕获这个错误?

2023-11-22

我有一个程序可以模拟掷骰子并将它们与图表(一组字符串列表)中的值进行比较。我目前从 TEdit 获取值。如果该框为空,则会引发 EConvertError,该错误应该由我的 Try/Except 语句捕获,但事实并非如此。想法和建议?下面的代码,Delphi 7。

try
  //Shooting
  if ShootingRadio.Checked then
    BS := StrToInt(Edit1.Text);
  Randomize;
  Roll := RandomRange(1,7);
  Label3.Caption := IntToStr(Roll);
  if (Roll < StrToInt(ShootingHitChart[BS-1])) then
  begin
    Label3.Caption := (IntToStr(Roll)+' Miss');
    RichView1.AddTextNL((IntToStr(Roll)+' Miss'),7,0,1);
    RichView1.Reformat;
  end
  else
  begin
    Label3.Caption := (IntToStr(Roll)+' Hit');
    RichView1.AddTextNL((IntToStr(Roll)+' Hit'),6,0,1);
    RichView1.Reformat;
  end;
except
    MessageBox(0,'No number entered.','Error',mb_OK);
end;

在调试器选项中选中“出现 Delphi 异常时停止”。实际上,异常可以很好地捕获,但是当您捕获它时 IDE 就会停止。当您继续运行时,您将不会看到异常,而是看到消息。离开 IDE 就可以正常运行了。

您可以取消选中此选项(我通常这样做)。当你需要调试一些顽固的问题时,你可以随时重新检查它。

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

为什么除了没有捕获这个错误? 的相关文章

  • 从命令行增加 Delphi XE 项目版本号

    我有一个 Delphi XE 项目 我试图在使用 MSBuild 构建它之前更改程序的版本号 版本号信息位于 DPROJ 文件中 但如果我更改这些值 版本号不会更改 我认为原因是当您在 IDE 中更改版本号时 Delphi 会将更改保存到
  • TRichEdit和URL高亮问题

    我正在使用当前代码在 TRichEdit 上突出显示 URL procedure TForm1 WndProc var Message TMessage var p TENLink strURL string begin if Messag
  • 如何在显示表单之前强制将焦点集中在组件上

    我必须展示 与ShowModal 一个有很多的表格TEdit但我想把注意力集中在TEdit 但并不总是相同 具体取决于上下文 我不能使用SetFocus之前ShowModal 因为表单未激活 并使用该组件Name or Tag在我的应用程序
  • 在 Delphi 中,我的 DLL 中是否必须分配函数的返回 pchar

    我有一个 DLL 其中有一个返回 pchar 的函数 以避免必须使用 borlndmm 我最初所做的是将字符串转换为 pchar 并返回 Result pChar SomeFuncThatReturnsString 但 90 的情况下我都能
  • 以高效的方式将字符串转换为十六进制

    我开发了以下函数将字符串转换为十六进制值 function StrToHex const S String String const HexDigits array 0 15 of Char 0123456789ABCDEF var I I
  • Delphi - 如何将通用参数传递给接受 const 参数数组的函数

    我有一个 基类 其中包含一个 函数 该函数接受 const 数组 类型的参数 如下所示 type TBaseClass class TObject public procedure NotifyAll const AParams array
  • Delphi RTTI,已发布的属性出现两次

    我想对属性使用属性 但这些属性偶尔会在继承的类中发生更改 这是一个示例代码 非常简化 TBaseClass class TObject private FFoo string published BaseAttirib hello prop
  • 如果鼠标不在 VirtualTreeView (TVirtualStringTree) 上,如何禁用 MouseWheel

    如果 TVirtualStringTree 获得焦点 则默认情况下它会在鼠标滚轮上滚动 即使鼠标未超出控制范围 除非它位于另一个 TVirtualStringTree 上方 有没有一种快速而优雅的方法来禁用这种行为 我已经这样做了OnMou
  • 是否有适用于 >= Delphi 2007 的 Delphi 混淆器

    我曾经使用 Pythia 来混淆我的 D6 程序 但 Pythia 似乎不再适用于我的 D2007 这是 Pythia 的链接 自 2007 年初以来没有更新 http www the interweb com serendipity in
  • 无法通过Delphi替换Word应用程序中的页脚文本

    我正在尝试替换页脚中的文本 我使用以下代码 通过它我可以替换正常内容 正文 但不能替换页脚 页眉中的内容 myWinWordApp CreateOLEObject Word Application myWinWordApp visible
  • 在 Inno Setup 中使用 StringToColor

    我想为表单上的标签 TNewStaticText 属性颜色 TColor 读写 分配一些颜色 我将颜色存储为 RRGGBB 字符串 我想使用 Delphi 函数 StringToColor 将其转换为 TColor 但如果我在脚本中使用此函
  • ComboBox.Sorted 发生了什么:= True;在德尔福 10.2 中?

    最近我的最后一个问题获得了 风滚草 徽章 我不确定是否应该问更多问题 但这里是 我正在填充一个TComboBox使用 sqlite 表中的项目 效果很好 在我以前的 Delphi 版本中 我能够使用ComboBox1 Sorted True
  • delphi定时器比定时器服务中断例程更快

    大家好 我被要求为某人维护一个基于 Delphi 5 的程序 该程序使用一个计时器对象每 50 毫秒计时一次 并且在每次计时结束时运行单线程代码块 我只是想知道 如果执行这段代码所花费的时间比计时器滴答间隔长 会发生什么 这会很糟糕吗 例如
  • 如何更新Delphi对象检查器?

    继我最近发布的这个问题之后 组件编辑器可以在多个组件上执行吗 https stackoverflow com questions 14802371 can a component editor be executed on multiple
  • ADODB 组件导致 Win7/Server 2008 上的访问冲突

    我有一段用 Delphi 2005 编写的代码 用于在 LDAP 中搜索用户的特定属性 当在 Windows 7 或 Server 2008 上运行时 我遇到访问冲突 但在 XP 或 2003 上则没有 Function IsSSOUser
  • 如何在 OSX 上的应用程序名称下创建子项菜单?

    如何在下面添加TMenuItemProject1以上Quit在下面的屏幕截图上 我创建了一个 TMenuBar 并选中了 UseOSMenu 属性 我添加的第一个 TMenuItem 是主栏中的第二个 TMenuItem 您可以通过将 II
  • 运行delphi客户端自动化程序后excel.exe保持加载状态的原因是什么?

    我编写了一个 Delphi 程序 该程序从单个 XLS 文件的多个不同电子表格中提取数据并将其合并到文本文件中以供以后处理 这是德尔福7console程序 最相关的代码片段的摘录将向您表明 显然 我的程序表现得相当好 或者至少达到了它需要的
  • 德尔福数据结构

    我可能需要在 Delphi 中做一个项目 并且是该领域的初学者 目前 我正在网上搜索资源 但由于资源站点太少而感到困惑 首先 你能给我一些好的网站 其中包含我迄今为止错过的 Delphi 资源吗 我也在 Delphi 中搜索数据结构 想知道
  • 处理 TShellListView 后代中的文件放置

    我正在尝试创建 TShellListView 的后代 它接受从 Windows 资源管理器中删除的文件 我想在组件定义中处理拖 放操作 而不必在任何使用该组件的应用程序中实现它 我找到了接受从 Windows 资源管理器中拖放的文件的示例
  • 每次 TDbGrid 的选定位置更改时都会触发什么事件?

    我的项目中有一个 TDbGrid 每次更改所选行时我都试图触发一个事件 行中的任何更改都已经更新了链接到同一数据源的所有数据感知控件 但还需要进行其他更改 我需要一个事件处理程序 我认为 OnColEnter 会起作用 根据帮助文件 它在以

随机推荐

  • 如何将
    的箭头与 的内容垂直对齐

    我正在尝试垂直对齐附带的箭头
  • 改进猫鼬验证错误处理

    我有以下具有所需验证的架构 var mongoose require mongoose var validator require validator var userSchema new mongoose Schema email typ
  • Sharepoint CMS 与 UmbracoCMS

    我在一家大型地方政府组织工作 该组织即将开始使用 SharePoint 将我们老化的内部网替换为一个能歌善舞的协作网站 Intranet 的重点将是用 SharePoint 安装替换散布在整个组织中的随机文件 内容页面和文档 这将神奇地使所
  • 更改整个应用程序中的按钮样式

    我正在尝试将应用程序中按钮的所有 TextColor 更改为白色 并尝试将其设为粗体 但这并没有发生 我正在覆盖the android Widget Button我正在开发 Jelly Bean 4 1 2 我究竟做错了什么 清单中的主题定
  • 直接从 AlarmManager 唤醒服务

    In the https github com commonsguy cwac wakeful演示中 调用 OnAlarmReceiver 广播接收器 的 onReceive 方法来响应警报 onReceive 方法启动服务 使用了两种 I
  • 如何在 LINQ 中使用 whereif

    大家好 有人可以帮助我如何在 LINQ 中最好地使用 whereif IQueryable
  • 如何调用返回 data.table 中多行和多列的函数?

    我想调用 data table 中的一个函数来计算一组汇总统计信息 如下所示 summ stats lt function vec list Min min vec Mean mean vec S D sd vec Median media
  • Python解压相对性能?

    太长了 的python 中可用的各种压缩算法 gzip bz2 lzma等 哪个有最好的减压表现 完整讨论 Python 3 有用于压缩 解压缩数据的各种模块包括gzip bz2 and lzma gzip and bz2此外 您还可以设置
  • 如何使用 angular.js 在标题元素中绑定数据

    我正在学习 Angular js 并且我设置了我尝试使用选择元素来改变它
  • 使用 java.exe 以静默模式执行

    我想知道是否有办法将 java exe 作为后台进程执行 静默模式执行 例如 java cp 我的类 arg1 我想将上述语句作为后台进程运行 而不打开命令窗口 在 Windows 下 使用javaw exe代替java exe See h
  • 将对象集合作为参数传递到 SQL Server 存储过程

    我有一个一般性问题 即是否可以做某事 以及这是否是最有效的方法 总结一下 我可以将对象集合作为参数传递给存储过程吗 假设我有一个名为的 SQL Server 表Users UserID Forename Surname 另一个表称为Hobb
  • Rails 7:如何完全删除 Turbo?

    我有一个 Rails 7 应用程序 经过一些开发后 我发现 Turbo Hotwired 产生了太多问题 我不需要它用于此应用程序 有没有办法从现有的 Rails 应用程序中完全删除 Turbo 建议的删除方法是什么 你需要删除gem tu
  • 如何在 JavaScript 中检查 XMLHttpRequest 对象是否支持 W3C 进度事件?

    有没有办法在 JavaScript 中检查是否XMLHttpRequest物体支撑W3C 进展事件 我的意思是这里如果设置onload onprogress onabort onerror等某些处理函数的属性将使这些函数调用这些事件 如所述
  • 在 perl6 语法中放松空白的最佳方法是什么?

    我想要一个在是否存在空格方面宽松的语法 我想匹配 this
  • 创建一个非常简单的链表

    我试图创建一个链接列表只是为了看看我是否可以 但我很难理解它 有谁有一个使用 C 非常简单地实现链表的示例吗 到目前为止我发现的所有例子都有点过头了 链表的核心是一堆链接在一起的节点 因此 您需要从一个简单的 Node 类开始 public
  • Makefile 始终运行目标

    我可能会错过这个 Makefile 中一些非常明显的东西 convert devel bar touch convert init devel foo echo init devel foo mkdir p devel touch deve
  • 读/写音频/视频文件的元数据

    我需要一些帮助来读取 写入音频 视频文件的元数据信息 我进行了很多搜索 但没有找到任何有用的东西 Taglib Sharp 是一个开源库 为读取 写入元数据提供帮助 使用标签库我可以编辑一些值 但不是全部 TagLib File video
  • 如何在 PHP 中显示取决于用户输入的长查询的 MySQL 错误? [复制]

    这个问题在这里已经有答案了 在 PHP 中 我尝试执行一个依赖于用户输入的长 MySQL 查询 但是 我的查询失败并显示以下消息 Query Failed 实际上 每当查询失败时 我都会打印此消息 但我很难查找此失败背后的原因 不幸的是 我
  • 来自存储在表中的值的 SQL 动态 SELECT 语句

    我已经研究了几天了 感觉自己在兜圈子 我有 SQL 的基本知识 但有很多地方我不明白 我有一个表 用于存储数据库中所有其他表的名称和字段 tblFields TableName FieldName BookmarkName Customer
  • 为什么除了没有捕获这个错误?

    我有一个程序可以模拟掷骰子并将它们与图表 一组字符串列表 中的值进行比较 我目前从 TEdit 获取值 如果该框为空 则会引发 EConvertError 该错误应该由我的 Try Except 语句捕获 但事实并非如此 想法和建议 下面的