In Delphi 2009 enthält SysUtils.pas dies in Zeile 425:
EProgrammerNotFound = class(Exception);
- Ist das einfach ein Osterei oder etwas Ernstes?
- Wann sollte diese Ausnahme ausgelöst werden?
- Existiert es auch in Delphi Prisma und / oder Free Pascal?
F: Ist diese Ausnahmeklasse noch in Delphi (derzeit XE7) deklariert? A: Ja, und es ist sogar dokumentiert !
Nicht standardmäßige Methode zur Anzeige von Softwarefehlern.
Sie können EProgrammerNotFound als Alternative verwenden, um zur Laufzeit erkannte Softwarefehler anzuzeigen.
Antworten:
Es ist nur das Ergebnis eines langen Tages und wir waren ein wenig schwindlig geworden. Viele, viele Jahre (seit ich im Team war) hatten wir immer darüber gescherzt, eine Fehlermeldung im Compiler durch einen der häufigsten Fehler durch eine ähnliche Meldung zu ersetzen. Intern haben wir uns immer über verschiedene Dinge und Leute lustig gemacht (meistens im Team selbst). Wenn Sie keinen Sinn für Humor haben, sind Sie zu einem frühen Grab bestimmt.
Es war ein einfaches Gespräch;
"Oh, Sie hätten die EProgrammerNotFound-Ausnahme in dieser Funktion auslösen sollen."
"LOL! Wir sollten diese Ausnahme hinzufügen und sehen, wer es bemerkt."
"Ich frage mich, wie viel darüber spekuliert wird, warum es dort ist?"
Also, ich denke alles was ich sagen kann ist: "Ihr habt alle direkt in unsere Hände gespielt; -) ... Buwahahaha! Pwned!"
quelle
ENotImplemented
Ausnahme verwenden.EProgrammerException
. Ich habe den Code eingegeben, um ihn zu vervollständigen,EProgr...
als mir Code Insight zeigteEProgrammerNotFound
. Leider kann ich nicht verwendenEProgrammerNotFound
, da meineEProgrammerException
Abstammung vonEInvisibleException
; wie es als Kreuzung zwischen einem Assertionsfehler und einerEAbort
Ausnahme bedeutete (ich habe einen Programmierer erwischt, der etwas vermasselt hat, und ich werde hier aufhören).Es wird in Verbindung mit der "Fix-Inline" -Technologie verwendet, bei der der Programmierer in die exe-Datei eingebunden werden muss ;-)
quelle
Es wurde in Delphi 2009, noch in Delphi 2010 und führte vor kurzem haben einige mehr Aufmerksamkeit auf das Internet .
Ich denke, es ist ein Osterei, ähnlich wie " EBCAK " (Fehler zwischen Stuhl und Tastatur) und das Überspringen von Delphi Version Nummer 13 .
EProgrammerNotFound
Ich glaube nicht, dass EProgrammerNotFound überhaupt dazu gedacht ist, verwendet zu werden, aber da es dort ist, werden die Leute es scherzhaft verwenden (ähnlich wie das Einfügen eines Streuners "const False = True; True = not False;" in einen anderen Quellcode).
- Jeroen
quelle
Der Ursprung ist umstritten, aber es ist schon eine Weile bekannt ...
Marco Cantu scherzte darüber in einer "Fun Side of Delphi" -Sitzung.
IMO sollte es öfter verwendet werden ;-)
Lesen Sie weiter:
http://wings-of-wind.com/2010/01/12/best-programming-feature-ever/
http://blog.barrkel.com/2008/11/reference-counted-pointers-revisited .html
PS: Ich glaube nicht, dass es in Delphi Prism, FreePascal oder C # existiert (aber es sollte).
<G>
quelle
Es ist das Laufzeitanalog des Compilers "Syntaxfehler: Programer erwartet". ;>
quelle
Es ist eine Art selbstbeschreibender Witz, Sie können diesen Code ausprobieren
oder
Das obige funktioniert in Delphi 10 Seattle.
quelle
Beim Programmierer wird nicht auf den Programmierer verwiesen, der hinter Delphi sitzt. Ich denke, es wird für die Tatsache verwendet, dass in D2009 und höher geplant wurde (nie verwendet, weiß nicht, ob es funktioniert), dass jedes Objekt wartbar war.
quelle
TMonitor.Enter
und übergebenTMonitor.Exit
. Und ich bin nicht sicher, ob es ein Osterei ist oder nicht ...Ich bin ein Programmierer, bin ich eine Ausnahme als?
Marco Cantù beschreibt dies auch in seinem Buch 'Delphi 2009 handbook' - Seite 242. Er sagt, dass es im VCL-Quellcode nie verwendet wird.
quelle