comparison Implab/SuccessPromise.cs @ 203:4d9830a9bbb8 v2

Added 'Fail' method to RunnableComponent which allows component to move from Running to Failed state. Added PollingComponent a timer based runnable component More tests Added FailPromise a thin class to wrap exceptions Fixed error handling in SuccessPromise classes.
author cin
date Tue, 18 Oct 2016 17:49:54 +0300
parents 706fccb85524
children cbe10ac0731e
comparison
equal deleted inserted replaced
202:2651cb9a4250 203:4d9830a9bbb8
6 6
7 public IPromise On(Action success, Action<Exception> error, Action<Exception> cancel) { 7 public IPromise On(Action success, Action<Exception> error, Action<Exception> cancel) {
8 if (success != null) { 8 if (success != null) {
9 try { 9 try {
10 success(); 10 success();
11 } catch(Exception err) { 11 // Analysis disable once EmptyGeneralCatchClause
12 if (error != null) { 12 } catch {
13 try {
14 error(err);
15 // Analysis disable once EmptyGeneralCatchClause
16 } catch {
17 }
18 }
19 } 13 }
20 } 14 }
21 return this; 15 return this;
22 } 16 }
23 17
24 public IPromise On(Action success, Action<Exception> error) { 18 public IPromise On(Action success, Action<Exception> error) {
25 if (success != null) { 19 if (success != null) {
26 try { 20 try {
27 success(); 21 success();
28 } catch(Exception err) { 22 // Analysis disable once EmptyGeneralCatchClause
29 if (error != null) { 23 } catch {
30 try {
31 error(err);
32 // Analysis disable once EmptyGeneralCatchClause
33 } catch {
34 }
35 }
36 } 24 }
37 } 25 }
38 return this; 26 return this;
39 } 27 }
40 28