Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.066 Beiträge
 
Delphi 12 Athens
 
#3

AW: Audit sagt "Anweisung nicht erreicht". Wieso?

  Alt 18. Feb 2021, 19:35
Ja, per se können Exception-Klassen auch von was Anderem abstammen (in der System.pas ist das als TObject deklariert), aber praktisch stammen (normalerweise) alle Exceptions von Exception ab.

Delphi-Quellcode:
  try
    raise TStringList.Create;
  except
    on E: Exception do
      ShowMessage('ja ' + E.ClassName);
    else // bzw. on E: TObject do
      ShowMessage('ne ' + ExceptObject.ClassName);
  end;
Von alleine passiert sowas aber nicht.
Muß schon wer böswillig eine "falsche" Klasse/Instanz erstellen.
Auch System-Exception werden von der System und SysUtils immer nur in Delphi-Exceptions konvertiert.

PS: Eine "Exception" aus z.B. einer DLL ist nicht mit der "Exception" in der EXE kompatibel ... es sind unterschiedliche Typen (TypeInfo/RTTI), welche nur "zufällig" gleich heißen. (außer bei Verwendung von Laufzeitpackages)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Feb 2021 um 19:41 Uhr)
  Mit Zitat antworten Zitat