none
Protokoll Implementierung Read-Methode RRS feed

  • Frage

  • Hallo,

    wenn man eine Methode für ein Protokoll implementiert bei der Rückgabewert den abgefragten Wert enthält, und der abgefragte Server einen "not acknowledged" sendet, sollte man da eine Exception auslösen?

    Freitag, 24. Januar 2014 08:36

Antworten

  • Hallo,

    kann man denn ohne den erwarteten Rückgabewert weitermachen?

    Es gibt viele Arten mit Fehlern umzugehen:

    1. Erneuter Versuch solange bis der Server mit ACK antwortet (Do..Do)
    2. Erneuter Versuch X mal (Do...Until)
    3. Fehler als transitorisch ansehen, protokollieren aber keine Exception auslösen (NOP)
    4. Recovery/Behandlung versuchen (try/catch)
    5. Exception auslösen um anderen Handlern auf dem Aufrufstack die Gelegenheit zu geben die Exception zu verarbeiten (throw)
    6. Anwendung sofort beenden, um sie vor einem ungültigen Zustand zu bewahren (fail fast).

    usw.

    Welche Methode Du auswählst, hängt von vielen Faktoren ab:

    - ist die Anwendung nach einem NAK noch in einem konsistenten Zustand?
    - ist eine Wiederholung des Sendevorgangs möglich?
    - gibt es enge Zeitfenster zu berücksichtigen?
    - ist eine Recovery semantisch möglich?
    - gibt es Handler auf dem Aufrufstack, die eine Exception bearbeiten könnten?

    Gruß
    Marcel

    Freitag, 24. Januar 2014 11:19
    Moderator

Alle Antworten