EProgrammerNotНайдено исключение в Delphi?

103

В Delphi 2009 SysUtils.pas содержит это в строке 425:

EProgrammerNotFound = class(Exception);
  • Это просто пасхальное яйцо или что-то серьезное?
  • Когда должно возникнуть это исключение?
  • Он также существует в Delphi Prism и/или Free Pascal?

Q: Этот класс исключений все еще объявлен в Delphi (в настоящее время XE7)? A: Да, и даже документально!

Нестандартный способ указания ошибок программного обеспечения.

Вы можете использовать EProgrammerNotFound в качестве альтернативы для указания программного обеспечения ошибки, обнаруженные во время выполнения.

Теги:
delphi-2009
delphi-xe7

9 ответов

128
Лучший ответ

Это только результат долгого дня, и мы получили немного головокружение. На протяжении многих, многих лет (с тех пор как я был в команде) мы всегда шутили о замене некоторого сообщения об ошибке в компиляторе на одну из наиболее распространенных ошибок с похожим сообщением. Внутри мы всегда шутили и веселились у разных людей и людей (в основном на самой команде). Если у вас нет чувства юмора, вы обречены на раннюю могилу.

Это был простой разговор;

"О, вы должны были создать исключение EProgrammerNotFound в этой функции".
" LOL! Мы должны добавить это исключение и посмотреть, кто это заметит".
" Интересно, сколько будет спекуляций о том, почему оно есть?"

Итак, я думаю, все, что я могу сказать, это: "Ты все сыграл прямо в наши руки, -)... Бувахахаха! pwned!"

  • 9
    Разве это не самое распространенное исключение в Троне?
  • 1
    Вполне разумно иметь такое исключение. Я всегда рассматриваю это исключение как ENotImplementedException
Показать ещё 2 комментария
19

Он используется в сочетании с технологией "исправления", которая требует, чтобы программатор был связан с файлом exe; -)

18

Он был представлен в 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 исходный код).

- Йерун

  • 1
    Хм, программист - это не только человек, но и устройство (для программирования, например, прошивки встроенных устройств). Я чувствую запах IPhone здесь? Наах, тогда это было бы в IDE-источнике, а не в sysutils.
  • 0
    Поддержка устройств Delphi. Хм ...
Показать ещё 2 комментария
9

Происхождение является спорным, но оно известно некоторое время...
Марко Канту пошутил об этом в "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>

3

Это исполняемый аналог компилятора "Синтаксическая ошибка: ожидаемый программатор".; >

  • 0
    Я хочу знать, какой код генерирует эту ошибку компилятора :-)
  • 2
    Вы должны были увидеть сборку со строками компилятора, локализованными для Jive!
2

С программистом, это не программист, который сидит за Delphi, на который ссылаются. Я думаю, что он используется для того, чтобы в D2009 и выше они планировали (никогда не использовали его, не знаю, работает ли он), что каждый объект был доступен.

  • 0
    На самом деле, это можно использовать. Вы можете передать любой объект в TMonitor.Enter и TMonitor.Exit . И я не уверен, что это пасхальное яйцо или нет ...
  • 1
    Какое отношение имеет ожидаемый объект к программистам или они найдены? И то , что программист на который ссылается?
1

Это своего рода самооценка шутки, вы можете попробовать этот код

raise EProgrammerNotFound.Create('Jack is away');

или

raise ENotImplemented.Create('May be in future this will work');

Вышеупомянутые работы находятся в Дельфи 10 Сиэтле.

0

Кто-нибудь, пожалуйста, дайте мне руку.

_ Моя система в delphi + firebird прошла ошибку:

Ошибка Недействительная дата, пожалуйста, исправьте.

_ Я закрываю этот экран и открываю другое:

Ошибка исключения приложения EAbort в модуле SCP.exe при 006BF24C. Операция прервана.

_ Что делать, мне действительно нужна эта помощь

0

Я программист, я исключение?

Марко Канту также описывает это в своей книге "Справочник Delphi 2009" - стр. 242. Он говорит, что никогда не был проиндексирован в исходном коде VCL.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню