Исключение EProgrammerNotFound в Delphi?
В Delphi 2009 SysUtils.pas содержит это в строке 425:
EProgrammerNotFound = class(Exception);
- Это просто пасхальное яйцо или что-то серьезное?
- Когда должно возникнуть это исключение?
- Он также существует в Delphi Prism и/или Free Pascal?
Q: Этот класс исключений все еще объявлен в Delphi (в настоящее время XE7)?
A: Да, и даже документально!
Нестандартный способ указания ошибок программного обеспечения.
Вы можете использовать EProgrammerNotFound в качестве альтернативы для указания программного обеспечения ошибки, обнаруженные во время выполнения.
Ответы
Ответ 1
Это только результат долгого дня, и мы получили немного головокружение. На протяжении многих, многих лет (с тех пор как я был в команде) мы всегда шутили о замене некоторого сообщения об ошибке в компиляторе на одну из наиболее распространенных ошибок с похожим сообщением. Внутри мы всегда шутили и веселились у разных людей и людей (в основном на самой команде). Если у вас нет чувства юмора, вы обречены на раннюю могилу.
Это был простой разговор;
"О, вы должны были создать исключение EProgrammerNotFound в этой функции".
" LOL! Мы должны добавить это исключение и посмотреть, кто это заметит".
" Интересно, сколько будет спекуляций о том, почему оно есть?"
Итак, я думаю, все, что я могу сказать, это: "Ты все сыграл прямо в наши руки, -)... Бувахахаха! pwned!"
Ответ 2
Он используется в сочетании с технологией "исправления", которая требует, чтобы программатор был связан с файлом exe; -)
Ответ 3
Он был представлен в Delphi 2009, все еще присутствующий в Delphi 2010, и недавно получил несколько больше внимание на интернет.
Я думаю, что это пасхальное яйцо, похожее на "EBCAK "(ошибка между стулом и клавиатурой) и пропуск версии Delphi № 13.
EProgrammerNotFound
- объявляется в ветки Win32 модуля SysUtils, но не используется нигде в RTL или VCL
- нет в Delphi Prism
- был представлен в Delphi 2009, поэтому не присутствует в VCL.NET
- имеет в настоящее время (версия 3.5) ничего подобного в платформе .NET(не уверен, почему эти ребята имеют юмор)
Я не думаю, что EProgrammerNotFound на самом деле предназначен для использования вообще, но поскольку он есть, люди будут в шутку использовать его (подобно тому, как ставить бездомный "const False = True; True = not False;" у кого-то elses исходный код).
- Йерун
Ответ 4
Происхождение является спорным, но оно известно некоторое время...
Марко Канту пошутил об этом в "Fun Side of Delphi".
ИМО, его следует использовать чаще ; -)
Читайте дальше:
http://wings-of-wind.com/2010/01/12/best-programming-feature-ever/
http://blog.barrkel.com/2008/11/reference-counted-pointers-revisited.html
PS: Я не думаю, что он существует в Delphi Prism, FreePascal или С# (но он должен). <G>
Ответ 5
Это исполняемый аналог компилятора "Синтаксическая ошибка: ожидаемый программатор".; >
Ответ 6
С программистом, это не программист, который сидит за Delphi, на который ссылаются. Я думаю, что он используется для того, чтобы в D2009 и выше они планировали (никогда не использовали его, не знаю, работает ли он), что каждый объект был доступен.
Ответ 7
Это своего рода самооценка шутки, вы можете попробовать этот код
raise EProgrammerNotFound.Create('Jack is away');
или
raise ENotImplemented.Create('May be in future this will work');
Вышеупомянутые работы находятся в Дельфи 10 Сиэтле.
Ответ 8
Я программист, я исключение?
Марко Канту также описывает это в своей книге "Справочник Delphi 2009" - стр. 242. Он говорит, что никогда не был проиндексирован в исходном коде VCL.
Ответ 9
Кто-нибудь, пожалуйста, дайте мне руку.
_ Моя система в delphi + firebird прошла ошибку:
Ошибка Недействительная дата, пожалуйста, исправьте.
_ Я закрываю этот экран и открываю другое:
Ошибка исключения приложения EAbort в модуле SCP.exe при 006BF24C. Операция прервана.
_ Что делать, мне действительно нужна эта помощь
Ответ 10
Я думаю, что этот шаблон дизайна заслуживает официального названия. Я вижу это и здесь: YourCodeSucksException