非同期計算と、成功の継続、エラーの継続、キャンセルの継続を受け取り(必要であれば、さらにキャンセルトークンも指定します)、非同期に計算を行います。end.Succeeded.非同期に処理が進むため、標準出力に出力される文字がちょっと変な感じになっています。ビルドしたものを実行した場合、何も印字されないかもしれません。end.Canceled.全体として、こちらも分かりやすいかなぁと思います。F#!F#!end.Succeeded.大丈夫ですね。F#!F#!あ、あれ?処理が返ってこない...。動きを見てみましょう。F#!F#!end.Succeeded.だいぶひどい感じに出力されていますが、成功しているようです。F#!F#!非同期実行しているため制御は返ってきますが、やはり中の処理は途中で止まってしまっているようです。時と同じやり方では上手くいかないようです。プロパティを使います。計算している間に例外が発生すると、エラーイベントが発生します。プロパティとなります。come!エラー時に処理するように登録した印字処理が行われています。注意しなければならないのは、エラー処理はされるものの、結局制御は返ってこない、ということです。メソッドにタイムアウト用のミリ秒パラメータを渡しておくことです。これによって、指定時間後にタイムアウトエラーとして制御が戻ってきます。come!エラーイベント発生がちゃんと拾われています。同じ使い方ができるわけでもありません。同期実行時にエラーが発生すると制御が返ってこない可能性があるので、非同期実行するように変更したり、タイムアウトさせるようにしておきましょう。プロパティにイベントハンドラを貼っておきます。