From 548609f69b8abab8d10abedbaa8ab50f4a49cf3f Mon Sep 17 00:00:00 2001 From: rafael-aero Date: Wed, 1 Sep 2021 18:28:44 +0200 Subject: [PATCH] add handler for errors on socket.on calls --- ElectronNET.API/BridgeConnector.cs | 24 ++++++++++++++++++++++-- ElectronNET.API/IpcMain.cs | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/ElectronNET.API/BridgeConnector.cs b/ElectronNET.API/BridgeConnector.cs index 9f939cd..c778970 100644 --- a/ElectronNET.API/BridgeConnector.cs +++ b/ElectronNET.API/BridgeConnector.cs @@ -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(0))); + Socket.On(eventString, (o) => + { + try + { + fn(o.GetValue(0)); + } + catch(Exception E) + { + Logger.LogError(E, "Error running handler for event {0}", eventString); + } + }); } finally { diff --git a/ElectronNET.API/IpcMain.cs b/ElectronNET.API/IpcMain.cs index eae3f3c..6c59746 100644 --- a/ElectronNET.API/IpcMain.cs +++ b/ElectronNET.API/IpcMain.cs @@ -105,7 +105,7 @@ namespace ElectronNET.API public void Once(string channel, Action listener) { BridgeConnector.Emit("registerOnceIpcMainChannel", channel); - BridgeConnector.On(channel, (args) => + BridgeConnector.Once(channel, (args) => { var objectArray = FormatArguments(args);