EProgrammerNotFound исключение в Delphi?
В Delphi 2009, SysUtils.pas содержит это в строке 425:
EProgrammerNotFound = class(Exception);
- это просто пасхальное яйцо или что-то серьезное?
- когда это исключение должно быть вызвано?
- существует ли он также в Delphi Prism и/или Free Pascal?
Q: этот класс исключений все еще объявлен в Delphi (в настоящее время XE7)? A: да, и это даже документирована!
нестандартным способом для указания ошибок программного обеспечения.
вы можете использовать EProgrammerNotFound в качестве альтернативы для указания программного обеспечения ошибки, обнаруженные во время выполнения.
8 ответов:
Это просто результат долгого дня, и мы получили немного головокружение. В течение многих, многих лет (с тех пор, как я был в команде), мы всегда шутили о замене некоторого сообщения об ошибке в компиляторе для одной из самых распространенных ошибок с аналогичным сообщением. Внутренне мы всегда шутили и подшучивали над разными вещами и людьми (в основном над самой командой). Если у вас нет чувства юмора, вы обречены на раннюю могилу.
Это был простой разговор;
"О, вы должны были поднять исключение EProgrammerNotFound в этой функции."
- ЛОЛ! Мы должны добавить это исключение и посмотреть, кто заметит."
"Интересно, сколько спекуляций будет о том, почему это происходит?"Итак, я думаю, все, что я могу сказать, это: "вы все сыграли нам на руку ;-)... Бувахахаха! взломали!"
Он используется в сочетании с технологией "fix-inline", которая требует, чтобы программист был связан с exe-файлом ; -)
Он был представлен в Delphi 2009, все еще присутствует в Delphi 2010, и недавно есть немного больше Внимание интернет.
Я думаю, что это пасхальное яйцо, похожие на " EBCAK" (ошибка между креслом и клавиатурой), и пропуск номера версии Delphi 13.
- объявляется в ветви Win32 блока SysUtils, но не используется нигде в RTL или VCL
- нет в Delphi Prism
- был представлен в Delphi 2009, поэтому не присутствует в VCL.NET
- в настоящее время (версия 3.5) ничего подобного в .NET framework (не знаю, почему, эти ребята есть юмор)
Я не думаю, что EProgrammerNotFound на самом деле предназначен для использования вообще, но поскольку он есть, люди будут шутливо использовать его (подобно тому, как положить случайный " const False = True; True = не False; " в чужом исходном коде).
-- jeroen
происхождение спорно, но это было известно в течение некоторого времени...
Марко Канту пошутил об этом в сеансе" веселая сторона Дельфи".
ИМО, его следует использовать чаще ; -)читать on:
http://wings-of-wind.com/2010/01/12/best-programming-feature-ever/
http://blog.barrkel.com/2008/11/reference-counted-pointers-revisited.htmlPS: Я не думаю, что он существует в Delphi Prism, FreePascal или C# (но это должно быть).
<G>
с программистом, это не программист, который сидит за Delphi, который ссылается. Я думаю, что он используется для того, что в D2009 и выше они планировали (никогда не использовали его, не знаю, работает ли он), что каждый объект был ожидаемым.