add handler for errors on socket.on calls

This commit is contained in:
rafael-aero
2021-09-01 18:28:44 +02:00
parent 7b5bac2083
commit 548609f69b
2 changed files with 23 additions and 3 deletions

View File

@@ -204,7 +204,17 @@ namespace ElectronNET.API
_socketSemaphoreHandlers.Wait();
try
{
Socket.On(eventString, _ => fn());
Socket.On(eventString, _ =>
{
try
{
fn();
}
catch (Exception E)
{
Logger.LogError(E, "Error running handler for event {0}", eventString);
}
});
}
finally
{
@@ -217,7 +227,17 @@ namespace ElectronNET.API
_socketSemaphoreHandlers.Wait();
try
{
Socket.On(eventString, (o) => fn(o.GetValue<T>(0)));
Socket.On(eventString, (o) =>
{
try
{
fn(o.GetValue<T>(0));
}
catch(Exception E)
{
Logger.LogError(E, "Error running handler for event {0}", eventString);
}
});
}
finally
{

View File

@@ -105,7 +105,7 @@ namespace ElectronNET.API
public void Once(string channel, Action<object> listener)
{
BridgeConnector.Emit("registerOnceIpcMainChannel", channel);
BridgeConnector.On<object[]>(channel, (args) =>
BridgeConnector.Once<object[]>(channel, (args) =>
{
var objectArray = FormatArguments(args);