日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。番外編「System.Reactive.Linq.Observableのメソッド一覧とメモ」はじめに前回のOnErrorResumeNextメソッドでは、エラーの場合は別の方法で再開するという処理をやりました。今回は、同じことを愚直にやり続けるRetryメソッドです!RetryメソッドここではRetryメソッドについて説明します。Retryメソッドは名前の通りエラーが起きた場合に、繰り返し同じ処理を行うメソッドです。メソッドのオーバーロードには、成功するまで無限に繰り返しリトライをするものと、引数でリトライ回数を指定するものがあります。メソッドのシグネチャを下記に示します。retryCount);まず、無限に繰り返すメソッドのオーバーロードを使ったコード例を下記に示します。Console.WriteLine("OnCompleted"));Createメソッドで3回目までエラーになるIObservableを作成しています。それに対してRetryメソッドを呼び出して、結果を表示しています。実行結果を以下に示します。3OnCompletedCreateメソッドが4回呼ばれてエラーではない値が発行されるとSubscribeまで値が渡っていることが確認できます。このようにエラーが起きても何度もリトライします。次にリトライ回数を指定した場合の動作を示すコード例を下記に示します。Console.WriteLine("OnCompleted"));先ほどと、ほぼ同じコードですがRetryメソッドの引数で2回までしかリトライをしないように指定しています。このコードの実行結果を以下に示します。2実行結果からわかるように2回目のリトライでも例外が発生しているため、SubscribeのOnErrorが呼び出されています。現実的にはリトライ回数を指定するオーバーロードを使うことが多くなると思います。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。