我注意到在Delphi 2009中,SysUtils.pas中定义的EStackOverflow被标记为不赞成使用。我检查了一下,它在2007年也被标记为不赞成使用。我有一个Delphi 7安装光盘在这里,但我想问问是否有人知道它何时被弃用。
此外,有人知道为什么会被弃用,以及有什么替代品吗?我编写了一个通过递归引起堆栈溢出的测试应用程序,我仍然会得到一个EStackOverflow异常,但如果我专门为其添加处理程序,则会得到以下警告:
[DCC Warning] Unit57.pas(85): W1000 Symbol 'EStackOverflow' is deprecated
我知道EStackOverflow是从EExternal派生的,我可以捕获EExternal并检查ExceptionCode以获取STATUS_STACK_OVERFLOW,但这似乎是不必要的,因为它仍然抛出EStackOverflow异常。
这只是为了阻止我在自己的代码中抛出EStackOverflow吗?
(是的,我意识到在名为StackOverflow的网站上询问关于EStackOverflow的问题的讽刺意味,而且我是非常认真的。)
此外,有人知道为什么会被弃用,以及有什么替代品吗?我编写了一个通过递归引起堆栈溢出的测试应用程序,我仍然会得到一个EStackOverflow异常,但如果我专门为其添加处理程序,则会得到以下警告:
[DCC Warning] Unit57.pas(85): W1000 Symbol 'EStackOverflow' is deprecated
我知道EStackOverflow是从EExternal派生的,我可以捕获EExternal并检查ExceptionCode以获取STATUS_STACK_OVERFLOW,但这似乎是不必要的,因为它仍然抛出EStackOverflow异常。
这只是为了阻止我在自己的代码中抛出EStackOverflow吗?
(是的,我意识到在名为StackOverflow的网站上询问关于EStackOverflow的问题的讽刺意味,而且我是非常认真的。)