summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/OperationCanceledException.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/src/System/OperationCanceledException.cs')
-rw-r--r--src/mscorlib/src/System/OperationCanceledException.cs69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/OperationCanceledException.cs b/src/mscorlib/src/System/OperationCanceledException.cs
new file mode 100644
index 0000000000..1a71a1f605
--- /dev/null
+++ b/src/mscorlib/src/System/OperationCanceledException.cs
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+/*============================================================
+**
+**
+**
+** Purpose: Exception for cancelled IO requests.
+**
+**
+===========================================================*/
+
+using System;
+using System.Runtime.Serialization;
+using System.Threading;
+
+namespace System {
+
+ [Serializable]
+ [System.Runtime.InteropServices.ComVisible(true)]
+ public class OperationCanceledException : SystemException
+ {
+ [NonSerialized]
+ private CancellationToken _cancellationToken;
+
+ public CancellationToken CancellationToken
+ {
+ get { return _cancellationToken;}
+ private set { _cancellationToken = value;}
+ }
+
+ public OperationCanceledException()
+ : base(Environment.GetResourceString("OperationCanceled")) {
+ SetErrorCode(__HResults.COR_E_OPERATIONCANCELED);
+ }
+
+ public OperationCanceledException(String message)
+ : base(message) {
+ SetErrorCode(__HResults.COR_E_OPERATIONCANCELED);
+ }
+
+ public OperationCanceledException(String message, Exception innerException)
+ : base(message, innerException) {
+ SetErrorCode(__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) {
+ }
+ }
+}