From c02b79ed9b35a5998aa8426425f4ec0c926249cd Mon Sep 17 00:00:00 2001 From: Alexander William Zlotnik Date: Sat, 3 Jul 2021 10:41:57 -0700 Subject: [PATCH] Catch errors client throws in pool --- packages/pg-pool/index.js | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/pg-pool/index.js b/packages/pg-pool/index.js index 48bf5c788..1766c0030 100644 --- a/packages/pg-pool/index.js +++ b/packages/pg-pool/index.js @@ -375,20 +375,24 @@ class Pool extends EventEmitter { client.once('error', onError) this.log('dispatching query') - client.query(text, values, (err, res) => { - this.log('query dispatched') - client.removeListener('error', onError) - if (clientReleased) { - return - } - clientReleased = true - client.release(err) - if (err) { - return cb(err) - } else { - return cb(undefined, res) - } - }) + try { + client.query(text, values, (err, res) => { + this.log('query dispatched') + client.removeListener('error', onError) + if (clientReleased) { + return + } + clientReleased = true + client.release(err) + if (err) { + return cb(err) + } else { + return cb(undefined, res) + } + }) + } catch (err) { + return cb(err) + } }) return response.result }