/* Page prose (de) */
"DistributedAsyncAndThrows" = "# Verteilte Aufrufe sind `async` *und* `throws`\n\nHier ist der wichtigste Unterschied zu einem lokalen Actor, und der, den du dir ins Gedächtnis einbrennen solltest.\n\nEine lokale Actor-Methode aufzurufen ist `async`: Du rufst sie mit `await` auf, weil du vielleicht auf deinen Zug für die Isolation des Actors warten musst. Aber sie wirft **nicht**, nur weil es ein Actor-Aufruf ist; sobald du drin bist, läuft der Aufruf im Prozess und kann auf dem Weg nicht fehlschlagen.\n\nEin **verteilter** Aufruf ist `async` **und** `throws`, weil der Aufruf jetzt ein Netzwerk überqueren könnte, und Netzwerke schlagen fehl. Die Verbindung kann abbrechen, die entfernte Maschine kann unerreichbar sein, eine Nachricht kann ihre Zeit überschreiten. Nichts davon lässt sich verbergen, deshalb zwingt dich der Compiler mit `try`, dich damit auseinanderzusetzen:\n\n```swift\n// Local actor, await only:\nawait ledger.deposit(1)\n\n// Distributed actor, try await, because the wire can fail:\ntry await remoteLedger.deposit(1)\n```\n\nSieh dir noch einmal die Definition von `distributed func deposit` an: Ihr Rumpf ist nicht als `throws` markiert, und sie wirft nie von sich aus. Das Werfen wird *an der Aufrufstelle* von der Laufzeitumgebung hinzugefügt: Es steht für **Transportfehler**, die Möglichkeit, dass die Nachricht die Rundreise nie geschafft hat. Das ist das Modell, das ehrlich zu dir ist: Ein Fernaufruf ist grundsätzlich etwas Zerbrechlicheres als ein lokaler, und das Typsystem lässt dich nicht so tun, als wäre es anders.\n\n> **Das ist die Ehrlichkeit von `await` aus dem Kapitel [Grundlagen von Async/Await](Async%20Await%20Basics.playgroundchapter/Overview), hochskaliert.**\n> Dort markierte `await` „dies könnte pausieren.\" Hier markiert `try await` bei einem verteilten Aufruf „dies könnte pausieren *und* könnte überhaupt nicht abgeschlossen werden.\" Die Schlüsselwörter erledigen dieselbe Arbeit wie immer, nämlich die Kosten eines Aufrufs an der Stelle sichtbar zu machen, an der du ihn tätigst.\n\n[Zurück](@previous)  |  Seite 5 von 9  |  [Weiter: Codable-Argumente](@next)";
