[delphi] 델파이에서 EProgrammerNotFound 예외?

Delphi 2009에서 SysUtils.pas는 425 행에 다음을 포함합니다.

EProgrammerNotFound = class(Exception);
  • 이것은 단순히 부활절 달걀 입니까 아니면 심각한 것입니까?
  • 이 예외는 언제 제기해야합니까?
  • Delphi Prism 및 / 또는 Free Pascal에도 존재합니까?

Q :이 예외 클래스는 여전히 Delphi (현재 XE7)에 선언되어 있습니까? A : 예, 그것은 심지어되고 문서화 !

소프트웨어 결함을 나타내는 비표준 방법.

EProgrammerNotFound를 대안으로 사용하여 런타임시 감지 된 소프트웨어 결함을 표시 할 수 있습니다.



답변

그것은 단지 긴 하루의 결과이며 우리는 약간 어리 석었습니다. 수년 동안 (팀에 근무한 이후로), 가장 일반적인 오류 중 하나에 대해 비슷한 메시지를 가진 컴파일러의 일부 오류 메시지를 대체하는 것에 대해 항상 농담이었습니다. 내부적으로 우리는 항상 다른 것들과 사람들 (주로 팀 자체)에서 농담을하고 재미를 찌르고있었습니다. 유머 감각이 없다면 초기 무덤으로 향하게됩니다.

간단한 대화였습니다.

“아, 그 함수에서 EProgrammerNotFound 예외를 발생시켜야합니다.”
“LOL! 우리는 그 예외를 추가하고 누가 통지하는지보아야합니다.”
“왜 존재하는지에 대한 추측이 얼마나 될까?”

그래서, 내가 말할 수있는 것은 “당신은 모두 우리 손에 뛰었습니다;-) … Buwahahaha! pwned!”


답변

프로그래머가 exe 파일에 링크되어야하는 “fix-inline”기술과 함께 사용됩니다 😉


답변

델파이 2009에서 소개되었고 여전히 델파이 2010에 있으며 최근 인터넷 에서 더 많은 관심을 받았습니다 .

나는 ” EBCAK “(의자 및 키보드 사이의 오류) 와 비슷한 이스터 에그라고 생각하며 Delphi 버전 번호 13을 건너 뜁니다 .

EProgrammerNotFound

  • SysUtils 장치의 Win32 분기에 선언되었지만 RTL 또는 VCL의 어느 곳에서도 사용되지 않습니다
  • 델파이 프리즘에 없습니다
  • Delphi 2009에 도입되었으므로 VCL.NET에는 없습니다.
  • 현재 (버전 3.5)는 .NET 프레임 워크와 유사하지 않습니다 (이 사람들 은 유머가 있는지 확실하지 않습니다 )

나는 EProgrammerNotFound가 실제로 전혀 사용되지 않는다고 생각하지만, 그것이 있기 때문에 사람들은 농담으로 그것을 사용할 것입니다 (다른 소스 코드에서 “const False = True; True = not False;

-제로 엔


답변

기원은 논쟁의 여지가 있지만, 한동안 알려져 있습니다 …
Marco Cantu는 “Fun Side of Delphi”세션에서 농담을했습니다.
IMO, 더 자주 사용해야합니다 😉

읽기 :
http://wings-of-wind.com/2010/01/12/best-programming-feature-ever/
http://blog.barrkel.com/2008/11/reference-counted-pointers-revisited .html

추신 : 나는 그것이 Delphi Prism, FreePascal 또는 C # (존재해야 함)에는 존재하지 않는다고 생각합니다. <G>


답변

컴파일러의 “구문 에러 : 프로그래머 예상”의 런타임 아날로그입니다. ;>


답변

그것은 일종의 자기 묘사 농담입니다, 당신은이 코드를 시도 할 수 있습니다

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

또는

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

위의 내용은 Delphi 10 Seattle에서 작동합니다.


답변

프로그래머에게는 참조되는 Delphi 뒤에있는 프로그래머가 아닙니다. D2009 이상에서는 모든 객체가 대기 가능한 것으로 계획했지만 (작동하는지 여부는 알 수 없음) 실제로 사용되었습니다.