Delphi EStackOverflow被弃用多长时间了?是什么替代了它?

Delphi EStackOverflow被弃用多长时间了?是什么替代了它?,delphi,exception,deprecated,stack-overflow,Delphi,Exception,Deprecated,Stack Overflow,我注意到SysUtils.pas中定义的EStackOverflow在Delphi 2009中被标记为不推荐。我检查了一下,它在2007年也被标记为弃用。我这里有一个Delphi7安装盘,但我想问问是否有人知道它是什么时候被弃用的 另外,有人知道为什么吗?是什么取代了它?我编写了一个测试应用程序,它通过递归导致堆栈溢出,我仍然会得到一个EStackOverflow异常,但是如果我专门为它添加一个处理程序,那么我会得到 [DCC警告]单元57.pas(85):W1000符号“EStackOverf

我注意到SysUtils.pas中定义的EStackOverflow在Delphi 2009中被标记为不推荐。我检查了一下,它在2007年也被标记为弃用。我这里有一个Delphi7安装盘,但我想问问是否有人知道它是什么时候被弃用的

另外,有人知道为什么吗?是什么取代了它?我编写了一个测试应用程序,它通过递归导致堆栈溢出,我仍然会得到一个EStackOverflow异常,但是如果我专门为它添加一个处理程序,那么我会得到

[DCC警告]单元57.pas(85):W1000符号“EStackOverflow”已弃用

我知道EStackOverflow是从EExternal派生的,我可以捕获EExternal并检查ExceptionCode的状态\u STACK\u溢出,但这似乎没有必要,因为它仍然抛出EStackOverflow异常

这只是为了阻止我在自己的代码中抛出EStackOverflow吗


(是的,我意识到在一个名为StackOverflow的网站上问一个关于EStackOverflow的问题是很讽刺的,是的我完全是认真的

我刚刚检查了我的Delphi 6,EStackOverflow已经被弃用了。我在这里无法访问旧版本的Delphi

我不能帮你们解释为什么或者可能的替代品

这只是为了阻止我在自己的代码中抛出EStackOverflow吗


更重要的是,我认为这意味着您不应该设计依赖于在未来版本中抛出的代码。

在Delphi5中,它还没有被弃用


编辑:实际上,在Delphi 5中,“deprecated”不是保留字。

我这里没有D5要说,但我几乎不记得deprecated指令 仅出现在D6上

至于StackOverflow异常,我认为它是不推荐的,因为只有Delphi运行时环境才能引发它


编辑:根据所有答案的汇总,当引入deprecated关键字时,EStackOverflow在Delphi 6中被弃用

就像在.NET中一样,您无法真正捕获StackOverflow异常,您将恢复到什么状态?如果您需要捕获一个,那么您的代码很可能是错误的:)

实际上,我希望有一行写着“on EStackOverflow do raise”;所以我没有捕获它。但你可能是对的。相反,我决定捕获EExternal并检查ExceptionCode的状态\u STACK\u overflow我尝试在谷歌上搜索堆栈溢出问题,并将大量链接加载到stackoverflow.com…:-)但我确实找到了这个。