Dans Delphi 2009, SysUtils.pas contient ceci à la ligne 425:
EProgrammerNotFound = class(Exception);
Q: Cette classe d'exception est-elle toujours déclarée dans Delphi (actuellement XE7)? R: Oui, et c'est même documenté !
Manière non standard d'indiquer les défauts du logiciel.
Vous pouvez utiliser EProgrammerNotFound comme alternative pour indiquer les défauts logiciels détectés lors de l'exécution.
C'est juste le résultat d'une longue journée et nous étions un peu étourdis. Pendant de très nombreuses années (depuis que je faisais partie de l'équipe), nous avions toujours plaisanté sur le remplacement d'un message d'erreur dans le compilateur pour l'une des erreurs les plus courantes par un message similaire. En interne, nous avons toujours plaisanté et nous sommes moqués de différentes choses et personnes (principalement de l'équipe elle-même). Si vous n'avez pas le sens de l'humour, vous êtes destiné à une tombe précoce.
C'était une simple conversation;
"Oh, vous auriez dû lever l'exception EProgrammerNotFound dans cette fonction."
"LOL! Nous devrions ajouter cette exception et voir qui le remarque."
"Je me demande combien il y aura de spéculations sur la raison de son existence?"
Donc, je suppose que tout ce que je peux dire, c'est: "Vous avez tous joué entre nos mains; -) ... Buwahahaha! Pwned!"
Il est utilisé en conjonction avec la technologie "fix-inline" qui nécessite que le programmeur soit lié au fichier exe ;-)
Il a été introduit dans Delphi 2009, toujours présent dans Delphi 2010, et récemment a obtenu plus l'attention sur internet .
Je pense que c'est un œuf de Pâques, similaire à " EBCAK " (Erreur entre la chaise et le clavier), et le saut du numéro de version 13 de Delphi .
Je ne pense pas que EProgrammerNotFound soit en fait destiné à être utilisé, mais comme il est là, les gens l'utiliseront en plaisantant (comme si l'on mettait un "const False = True; True = not False;" dans un autre code source).
--jeroen
L'Origine est discutable, mais elle est connue depuis un moment ...
Marco Cantu a plaisanté à ce sujet lors d'une session "Fun Side of Delphi".
OMI, il devrait être utilisé plus souvent ; -)
Continuer à lire:
http://wings-of-wind.com/2010/01/12/best-programming-feature-ever/
http://blog.barrkel.com/2008/11/reference-counted-pointers-revisited.html
PS: Je ne pense pas que ça existe en Delphi Prism, FreePascal ou C # (mais ça devrait). <G>
C'est l'analogue d'exécution de "Erreur de syntaxe: programmeur attendu" du compilateur. ;>
C'est une sorte de blague auto-descriptive, vous pouvez essayer ce code
raise EProgrammerNotFound.Create('Jack is away');
ou
raise ENotImplemented.Create('May be in future this will work');
Ce qui précède fonctionne dans Delphi 10 Seattle.