Delphi文档将abort和Abort区分开来 - 这是文档中的错误还是Delphi对大小写敏感?

4
这份文档页面在一个显眼的提示中说明Delphi有两个终止指令,一个叫做abort,另一个叫做Abort

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Silent_Exceptions

注意:Abort 和 abort 之间有区别。abort 会终止应用程序。

Delphi 是否区分大小写(我明天才能测试,没有 Delphi)。据我所知,Register 指令是 Delphi 中唯一区分大小写的指令。此外,还有一个“逻辑”例外:导入外部函数。


2
在 Delphi 中,abortAbort 都会引发(静默)异常。但是它们都不会终止应用程序(Vcl)。 - Tom Brunberg
似乎是文档错误。据我所知,abortAbort之间没有区别。而且我真的不认为“静默异常”是打破嵌套循环的正确方式。我宁愿使用goto。<g> - Rudy Velthuis
也许这句话是针对 C++ Builder 的。 - Tom Brunberg
1
很难认为这是文档错误,因为它明确指出“Abort”和“abort”之间有区别。这几乎就像是“注:这不是文档错误,我们是真的这么写的”。另一方面,确实,这是我第一次听说 Delphi 中的大小写敏感性问题。我会把它称作 Embarcadero 文档中最大的漏洞之一,因为它被如此明显地突出显示。 - Gabriel
1
@TomBrunberg - 不是重复的问题,甚至差别很大。我提供的文档明确指出Abort和abort之间存在差异。因此,这个问题似乎归结为一个大规模的文档错误,而不是Delphi对大小写敏感的问题。 - Gabriel
仅供统计和娱乐:https://rosettacode.org/wiki/Case-sensitivity_of_identifiers - Gabriel
1个回答

4
我刚在C++ builder中进行了检查,发现"abort"会跳转到stdlib.h,而"Abort"会跳转到Syste.SysUtils.hpp。
所以,是的,那个显眼的提示似乎适用于C++,而不是Delphi。 但是,为什么他们没有写成abort()而是用了abort和`Abort'呢?
文档人员可能在星期一粗心大意了。这个页面中放置的是Delphi演示代码(但没有C++代码),而且如果你取消“只显示C++文档”的复选框,提示依然存在,这增加了混淆的程度。

2
为什么要费心。有些漏洞从一开始就存在(如您所示)。Embarcadero显然不打算修复已知的漏洞,那么为什么还要报告更多呢?此外,现在我们还必须为这些漏洞修复付费。我真的同意为功能付费,但对于漏洞和漏洞修复......不行。我真的希望有一天Lazarus会崛起并发光! - Gabriel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接