GOOGLE ADS

Samstag, 30. April 2022

Delphi So verlassen Sie bei einem Fehler die Routine auf oberster Ebene

In Delphi habe ich eine Hierarchie von Routinen. Die Routine 'A' ruft 'B' auf, die 'C' aufruft, die 'D' aufruft. 'D' führt einige Überprüfungen durch und trifft auf einen Fehler irgendeiner Art, vielleicht eine Ausnahme, vielleicht nur einen logischen Fehler. Unabhängig davon, wenn 'D' auf den Fehler stößt, kann die Steuerung trotzdem an 'A' zurückgegeben werden, ohne dass 'D' einen 'Fehler'-Code zurückgibt, den 'C' prüft, was einen Fehlercode zurückgibt, den 'B ' prüft auf etc...?


Lösung des Problems

Es gibt genau zwei Möglichkeiten, das zu tun, was Sie wollen:

  • Geben Sie einen Fehler-/Statuscode zurück und lassen Sie jede Funktion in der Aufrufliste diesen Code überprüfen.

  • Lösen Sie eine Ausnahme aus und behandeln Sie sie auf hoher Ebene.

  • Sie möchten Option 1 nicht verwenden, sodass Option 2 übrig bleibt.

    Keine Kommentare:

    Kommentar veröffentlichen

    Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

    Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...