annotate Implab/PromiseTransientException.cs @ 196:40d7fed4a09e

fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.
author cin
date Mon, 29 Aug 2016 23:15:51 +0300
parents f75cfa58e3d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
1 using System;
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
2
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
3 namespace Implab {
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
4 [Serializable]
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
5 public class PromiseTransientException : Exception {
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
6 /// <summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
7 /// Initializes a new instance of the <see cref="PromiseTransientException"/> class.
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
8 /// </summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
9 /// <param name="inner">The exception that is the cause of the current exception.</param>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
10 public PromiseTransientException(Exception inner) : base("The preceding promise has failed", inner) {
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
11 }
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
12
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
13 /// <summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
14 /// Initializes a new instance of the <see cref="PromiseTransientException"/> class
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
15 /// </summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
16 /// <param name="message">A <see cref="T:System.String"/> that describes the exception. </param>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
17 /// <param name="inner">The exception that is the cause of the current exception. </param>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
18 public PromiseTransientException(string message, Exception inner)
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
19 : base(message, inner) {
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
20 }
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
21
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
22 /// <summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
23 /// Initializes a new instance of the <see cref="PromiseTransientException"/> class
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
24 /// </summary>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
25 /// <param name="context">The contextual information about the source or destination.</param>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
26 /// <param name="info">The object that holds the serialized object data.</param>
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
27 protected PromiseTransientException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
28 : base(info, context) {
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
29 }
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
30 }
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
31 }
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents:
diff changeset
32