Skip to content

Commit 32b06f0

Browse files
author
Jonas Swiatek
committed
Implemented UnhandledException event in AriClient
1 parent c4337ca commit 32b06f0

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

AsterNET.ARI/ARIClient.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,10 @@ private void _eventProducer_OnMessageReceived(object sender, MessageEventArgs e)
157157
catch(Exception ex)
158158
{
159159
// Handle any exceptions that were thrown by the invoked event handler
160-
Console.WriteLine("The event listener " + evnt.Type.ToString() + " cause an exeption: " + ex.Message );
160+
if (!UnhandledException(this, ex))
161+
{
162+
Console.WriteLine("The event listener " + evnt.Type.ToString() + " cause an exeption: " + ex.Message);
163+
}
161164
}
162165
});
163166
}

AsterNET.ARI/ARI_1_0/ARIClient.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ namespace AsterNET.ARI
4545
public delegate void TextMessageReceivedEventHandler(IAriClient sender, TextMessageReceivedEvent e);
4646
public delegate void ChannelConnectedLineEventHandler(IAriClient sender, ChannelConnectedLineEvent e);
4747
public delegate void UnhandledEventHandler(object sender, AsterNET.ARI.Models.Event eventMessage);
48-
48+
public delegate void UnhandledExceptionEventHandler(object sender, Exception exception);
4949

5050
public interface IAriEventClient
5151
{
@@ -86,6 +86,7 @@ public interface IAriEventClient
8686
event TextMessageReceivedEventHandler OnTextMessageReceivedEvent;
8787
event ChannelConnectedLineEventHandler OnChannelConnectedLineEvent;
8888
event UnhandledEventHandler OnUnhandledEvent;
89+
event UnhandledExceptionEventHandler OnUnhandledException;
8990
}
9091

9192

@@ -133,8 +134,20 @@ public class BaseAriClient : IAriEventClient
133134
public event TextMessageReceivedEventHandler OnTextMessageReceivedEvent;
134135
public event ChannelConnectedLineEventHandler OnChannelConnectedLineEvent;
135136
public event UnhandledEventHandler OnUnhandledEvent;
137+
public event UnhandledExceptionEventHandler OnUnhandledException;
136138
#endregion
137139

140+
protected bool UnhandledException(object sender, Exception exception)
141+
{
142+
if (OnUnhandledException != null)
143+
{
144+
OnUnhandledException(sender, exception);
145+
return true;
146+
}
147+
148+
return false;
149+
}
150+
138151
protected void FireEvent(string eventName, object eventArgs, IAriClient sender)
139152
{
140153

0 commit comments

Comments
 (0)