File tree Expand file tree Collapse file tree 2 files changed +29
-14
lines changed
Expand file tree Collapse file tree 2 files changed +29
-14
lines changed Original file line number Diff line number Diff line change @@ -406,20 +406,24 @@ class Pool extends EventEmitter {
406406
407407 client . once ( 'error' , onError )
408408 this . log ( 'dispatching query' )
409- client . query ( text , values , ( err , res ) => {
410- this . log ( 'query dispatched' )
411- client . removeListener ( 'error' , onError )
412- if ( clientReleased ) {
413- return
414- }
415- clientReleased = true
416- client . release ( err )
417- if ( err ) {
418- return cb ( err )
419- } else {
420- return cb ( undefined , res )
421- }
422- } )
409+ try {
410+ client . query ( text , values , ( err , res ) => {
411+ this . log ( 'query dispatched' )
412+ client . removeListener ( 'error' , onError )
413+ if ( clientReleased ) {
414+ return
415+ }
416+ clientReleased = true
417+ client . release ( err )
418+ if ( err ) {
419+ return cb ( err )
420+ } else {
421+ return cb ( undefined , res )
422+ }
423+ } )
424+ } catch ( err ) {
425+ return cb ( err )
426+ }
423427 } )
424428 return response . result
425429 }
Original file line number Diff line number Diff line change @@ -37,6 +37,17 @@ describe('pool error handling', function () {
3737 } )
3838 } )
3939
40+ it ( 'Catches errors in client.query' , async function ( ) {
41+ await expect ( ( new Pool ( ) ) . query ( null ) ) . to . throwError ( )
42+ await expect ( async ( ) => {
43+ try {
44+ await ( new Pool ( ) ) . query ( null )
45+ } catch ( e ) {
46+ console . log ( e )
47+ }
48+ } ) . not . to . throwError ( )
49+ } )
50+
4051 describe ( 'calling release more than once' , ( ) => {
4152 it (
4253 'should throw each time' ,
You can’t perform that action at this time.
0 commit comments