diff options
Diffstat (limited to 'src/mscorlib/shared/System/OperationCanceledException.cs')
-rw-r--r-- | src/mscorlib/shared/System/OperationCanceledException.cs | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/mscorlib/shared/System/OperationCanceledException.cs b/src/mscorlib/shared/System/OperationCanceledException.cs new file mode 100644 index 0000000000..2c7654854f --- /dev/null +++ b/src/mscorlib/shared/System/OperationCanceledException.cs @@ -0,0 +1,73 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +/*============================================================ +** +** +** +** Purpose: Exception for cancelled IO requests. +** +** +===========================================================*/ + +using System; +using System.Runtime.Serialization; +using System.Threading; + +namespace System +{ + public class OperationCanceledException : SystemException + { + [NonSerialized] + private CancellationToken _cancellationToken; + + public CancellationToken CancellationToken + { + get { return _cancellationToken; } + private set { _cancellationToken = value; } + } + + public OperationCanceledException() + : base(SR.OperationCanceled) + { + HResult = __HResults.COR_E_OPERATIONCANCELED; + } + + public OperationCanceledException(String message) + : base(message) + { + HResult = __HResults.COR_E_OPERATIONCANCELED; + } + + public OperationCanceledException(String message, Exception innerException) + : base(message, innerException) + { + HResult = __HResults.COR_E_OPERATIONCANCELED; + } + + + public OperationCanceledException(CancellationToken token) + : this() + { + CancellationToken = token; + } + + public OperationCanceledException(String message, CancellationToken token) + : this(message) + { + CancellationToken = token; + } + + public OperationCanceledException(String message, Exception innerException, CancellationToken token) + : this(message, innerException) + { + CancellationToken = token; + } + + protected OperationCanceledException(SerializationInfo info, StreamingContext context) : base(info, context) + { + throw new PlatformNotSupportedException(); + } + } +} |