/* Page prose (de) */
"TheGoldenRule" = "# Die goldene Regel: genau einmal fortsetzen\n\nAlles rund um Continuations läuft auf ein Gesetz hinaus:\n\n**Du musst eine Continuation genau einmal fortsetzen. Niemals null Mal. Niemals zweimal.**\n\nBeide Fehler sind im Moment leise und später bösartig:\n\n* **Null Mal fortsetzen**:  \nDu nimmst die Continuation, und dann überspringt irgendein Pfad (ein frühes `return`, ein `guard`, ein Fehlerzweig, den du vergessen hast) das Fortsetzen. Die async-Funktion, die auf dich gewartet hat, **setzt für immer aus**. Kein Absturz, standardmäßig kein Log: nur eine für die gesamte Lebensdauer des Programms eingefrorene Aufgabe, die festhält, was auch immer sie erfasst hat. Das ist die Falle, die der Zweig \"weder Wert noch Fehler\" auf der vorigen Seite vermeidet.\n* **Zweimal fortsetzen**:  \nZwei Callbacks feuern, oder du setzt in einer Schleife fort, oder ein Wiederholungsversuch ruft ein zweites Mal zurück. Das zweite Fortsetzen beschädigt die Concurrency-Runtime.\n\nDeshalb verwendest du die **checked**-Varianten: `withCheckedContinuation` und `withCheckedThrowingContinuation`. \"Checked\" bedeutet, dass die Runtime deine Continuation genau auf diese beiden Fehler *überwacht*:\n\n* Setze sie **zweimal** fort, und sie **trappt** absichtlich: ein harter Absturz mit einer Meldung wie `SWIFT TASK CONTINUATION MISUSE: ... tried to resume its continuation more than once`. Laut mit Absicht: Ein Doppel-Fortsetzen ist ein echter Bug, und ein klarer Absturz im Test schlägt eine mysteriöse Beschädigung in der Produktion.\n* Lass sie **lecken** (freigegeben, ohne je fortgesetzt worden zu sein), und sie loggt eine Warnung wie `... leaked its continuation without resuming it`, die dir genau sagt, welcher Wrapper hängen geblieben ist.\n\nEs gibt ein `withUnsafeContinuation`-Paar ohne diese Prüfungen. Ignoriere es, während du lernst: Die checked-Versionen kosten fast nichts und verwandeln stille Hänger und Beschädigung in laute, auffindbare Probleme. Greif erst dann zu \"unsafe\", wenn ein Wrapper als korrekt erwiesen ist und du gemessen hast, dass die Prüfung ins Gewicht fällt.\n\nDie praktische Gewohnheit: Frag für **jeden** Pfad durch deinen Callback (Erfolg, jeden Fehler, das unmöglich wirkende `else`) \"Setzt das die Continuation fort?\" Auf jedem Pfad muss genau ein Fortsetzen passieren.\n\n[Zurück](@previous)  |  Seite 5 von 8  |  [Weiter: Ein Delegate überbrücken](@next)";
