Ansonsten, da ich jetzt eine Weile mit Java arbeiten musste, gebe ich dir recht, dass Exceptions in Delphi besser dokumentiert sein könnten. Allerdings hatte ich in Delphi trotzdem nie Probleme damit (Ausnahme:
Indy-Bibliothek, weil da einfach für
alles eine
Exception geworfen wird, selbst wenn es kein Fehler ist. Deshalb verwende ich die nicht mehr).
Ein weit verbreiteter Irrtum: Exceptions mit Fehlern gleichzusetzen.
Exception heisst übersetzt nur "Ausnahme", und das trifft ihren Zweck besser - sonst würden sie "Error" heissen.
Eine
Exception ist nicht mehr als eine Ausnahme vom erwarteten, regulären Programmablauf. In der richtigen Dosis eine enorme Hilfe, da man mit ihnen leichter lesbaren Code schreiben kann, vor allem wenn Fehler in unteren Ebenen der Verarbeitung auftreten können.
Ohne Exceptions wäre eine Behandlung der Fehler, die in tieferen Schichten (Bibliotheken und deren Unter-Bibliotheken) auf Anwendungsebene nur möglich, wenn man alle denkbaren Fehlercodes in Rückgabeparametern an den eigenen Code hochreicht.
Wenn man sich von der Vostellung "
Exception = Fehler" löst, ist
Indy eher ein Beispiel für elegante und sinnvolle Nutzung von Exceptions.
EProgrammerNotFound ist eher ein Negativbeispiel