ふらっと C#,C♯,C#(初心者用) Part158at TECHふらっと C#,C♯,C#(初心者用) Part158 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト868:デフォルトの名無しさん (ワッチョイ 665f-bpoS) 23/07/15 12:56:18.34 IVtLjRqQ0.net 【えっ】Perlに未来はあるのか?【終わり?】 869:デフォルトの名無しさん (JP 0H62-9/0y) 23/07/15 13:15:08.16 KExn0jd0H.net トークンをキャンセルする権限を持ってるのは非同期処理側じゃなくて呼び出し元だと思うんだけど・・・ (だからcancellationTokenSourceを持ってる人だけがCancel()を実行できる) 呼び出し元から指図されたわけじゃないけど自発的にキャンセルしたいってことなら throw new OperationCanceledException(token) とでもすればいいんじゃないかな 870:デフォルトの名無しさん (ワッチョイ ca2d-2eqx) 23/07/15 13:42:20.93 m7eEyKEv0.net それはtokenの状態と整合性取れないし不自然だろう 普通に(キャンセルしたいと判断した)要因に合った例外使えば済む話だ 871:デフォルトの名無しさん (ワッチョイ 95ad-tdBp) 23/07/15 15:05:06.38 x4tryG3A0.net >>859 >>860 ご回答ありがとうございます。 awaitしている非同期メソッド内で例外を投げて、呼び出し元でcancellationTokenSource.Cancelしてキャンセルする、というのはできました。 ただ、awaitしない非同期メソッド内で例外を投げてもcatchできず、呼び出し元でcancellationTokenSource.Cancelできない状況です。 awaitして、非同期メソッド内で例外を投げて呼び出し元でキャンセルするしかないのでしょうか。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch