/* Page prose (ja) */
"FailingWithAResult" = "# コールバックが失敗する場合: `Result`\n\n実際のコールバック API のほとんどは *失敗する* こともあります。そうしたものには、throw する兄弟である **`withCheckedThrowingContinuation`** を使います。その continuation は、返すだけでなく *throw する* ことでも再開できるので、失敗したコールバックは待機中の呼び出しを throw させます。\n\n古いコールバック API は、二つのクラシックな形式で失敗を報告します。両方を橋渡ししていきますが、まずは `Result` から始めます。\n\nコールバックが `Result<Success, Failure>` を渡してくる場合、一行で済む方法があります。`continuation.resume(with: result)` です。これはあなたのために `Result` をアンラップします。`.success` なら値とともに再開し、`.failure` なら throw します。";
"FailingWithAResult-2" = "**実行して確認:** 最初のルックアップは短い一時停止の後に解決し、テイスティングノートを出力します。二つ目は **throw することで** 再開するので、制御は `catch` へ飛び、`Lookup failed: unknownItem(\"Mystery\")` を出力します。呼び出す側から見れば、ふつうの `try await` のように読めます。コールバックと `Result` は消えています。\n\n* callout(試してみよう): 二つ目のルックアップを `\"Mystery\"` から `\"Guji\"` に変えてみましょう。今度は両方とも値を返して解決し、両方のテイスティングノートが出力され、`catch` は決して実行されません。\n\n[前へ](@previous)  |  3 / 8 ページ  |  [次へ: (value, error) ペアで失敗する](@next)";
