From 703f78867653ed9c53a745f9808eb96ae8a89dc7 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Wed, 21 Feb 2018 21:28:39 +0000 Subject: Ensure query error messages survive the IPC serialisaion --- query-executor.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'query-executor.js') diff --git a/query-executor.js b/query-executor.js index 0c5b440..88df7e1 100644 --- a/query-executor.js +++ b/query-executor.js @@ -23,8 +23,14 @@ ipcRenderer.on("queryExecutor.runQuery", (event, payload) => { if(payload.queryExecutorId === executorId) { connectionPool.query(payload.query, (err, res) => { - console.log(err, res) + console.log(err, res); + if(err !== undefined) { + // The IPC payload is serialised to JSON beofre transmisison, so the protoype chain is lost. + // So store the nicely formatted error message as a property. + err.cause = err.toString(); + } + ipcRenderer.send("queryExecutor.runQueryComplete", { "error": err, "result": res, -- cgit v1.2.3