EProgrammerNotFound exception in Delphi?

In Delphi 2009, SysUtils.pas contains this in line 425:

EProgrammerNotFound = class(Exception);
  • Is this simply an easter egg or something serious?
  • When should this exception be raised?
  • Does it also exist in Delphi Prism and/or Free Pascal?

  • Q: Is this exception class still declared in Delphi (currently XE7)? A: Yes, and it is even documented!

    Nonstandard way to indicate software faults.

    You can use EProgrammerNotFound as an alternative to indicate software faults detected at run time.


    It is just the result of a long day and we had gotten a little giddy. For many, many years (ever since I'd been on the team), we'd always joked about replacing some error message in the compiler for one of the most common errors with a similar message. Internally we've always joked and poked fun at different things and people (mostly on the team itself). If you don't have a sense of humor, you're destined to an early grave.

    It was a simple conversation;

    "Oh, you should have raised the EProgrammerNotFound exception in that function."
    "LOL! We should add that exception and see who notices."
    "I wonder how much speculation there will be about why it is there?"

    So, I guess all I can say is, "You've all played right into our hands ;-)... Buwahahaha! pwned!"


    它与“fix-inline”技术结合使用,该技术要求程序员必须链接到exe文件中;-)


    It was introduced in Delphi 2009, still present in Delphi 2010, and recently got some more attention on the internet.

    I think it is an easter egg, similar to "EBCAK" (Error Between Chair and Keyboard), and the skipping of Delphi version number 13.

    EProgrammerNotFound

  • is declared in the Win32 branch of the SysUtils unit, but not used anywhere in the RTL or VCL
  • is not present in Delphi Prism
  • was introduced in Delphi 2009, so not present in VCL.NET
  • has currently (version 3.5) nothing similar in the .NET framework (not sure why, these guys do have humour)
  • I don't think EProgrammerNotFound is actually meant to be used at all, but since it is there, people will jokingly use it (similar like putting a stray "const False = True; True = not False;" in someone elses sourcecode).

    --jeroen

    链接地址: http://www.djcxy.com/p/2646.html

    上一篇: 使用Google Vis查看山羊传送数据。 API通过Chrome扩展

    下一篇: Delphi中的EProgrammerNotFound异常?