EProgrammerNotFound und ENotImplemented normal nicht, da sie eine "
Exception" sind und nicht vor EAbort erben, werden sie behandelt und auch angezeigt.
(nutze ich gern für Marker "nicht eingebaut, weil war bisher nicht nötig" und "nicht eingebaut, weil hatte noch niemnand Lust/Zeit")
Per se ist in Pascal/Delphi die
Exception-Behandlung so ausgelegt, dass "Exceptions" nicht von
Exception erben müssen,
auch wenn es blöd ist, da die Standard-ExceptionBenahndlung in SysUtils und Co. mindestens "
Exception" verlangt, z.B. die beiden ShowExceptions und da bei ON normal überall eigentlich immer mindestens
Exception-Typen angegeben werden.
ABER, kommt die
Exception z.B. aus eine
DLL (ohne Laufzeitpackages), dann hat die
DLL andere
Exception-Classes, als wie die EXE. ... die beiden Seiten sind nicht nur nicht vom
selben "
Exception" geerbt ... nichtmal vom selben TObject.