diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskCompletionSource.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskCompletionSource.cs index e4d550d..db5d27b 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskCompletionSource.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTaskCompletionSource.cs @@ -123,7 +123,14 @@ namespace Cysharp.Threading.Tasks { // setup result this.hasUnhandledError = true; - this.error = ExceptionDispatchInfo.Capture(error); + if (error is OperationCanceledException) + { + this.error = error; + } + else + { + this.error = ExceptionDispatchInfo.Capture(error); + } if (continuation != null || Interlocked.CompareExchange(ref this.continuation, UniTaskCompletionSourceCoreShared.s_sentinel, null) != null) {