Closed
Description
I have a REST API and for an INSERT handler I have a custom (45000) error in MySQL.
Node throws the stack in the console but I cannot capture that info in my try catch for proper handling.
There's no documentation on Error handling for mysql2. Any thoughts/suggestions?
Error: DUPLICATE: Already have that data
at PromisePool.query (/home/kingram/PROJECTS/omnibusapi/node_modules/mysql2/promise.js:356:22)
at call (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:8:36)
at tryCatch (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at Generator._invoke (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at Generator.next (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at asyncGeneratorStep (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at _next (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at /home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1
at new Promise (<anonymous>)
at apply (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:2:1)
at apply (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:14:2)
at executeSQL (/home/kingram/PROJECTS/omnibusapi/controllers/data.js:5:26)
at call (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:26:36)
at tryCatch (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at Generator._invoke (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at Generator.next (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at asyncGeneratorStep (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at _next (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at /home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1
at new Promise (<anonymous>)
at apply (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at handler (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:37:4)
at Layer.handle [as handle_request] (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/layer.js:95:5)
at next (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/route.js:149:13)
at Route.dispatch (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/route.js:119:3)
at Layer.handle [as handle_request] (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/layer.js:95:5)
at /home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:284:15
at Function.process_params (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:346:12)
at next (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:280:10)
at serveStatic (/home/kingram/PROJECTS/omnibusapi/node_modules/serve-static/index.js:75:16)
at Layer.handle [as handle_request] (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:328:13)
at /home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:346:12)
at next (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:280:10)
at serveStatic (/home/kingram/PROJECTS/omnibusapi/node_modules/serve-static/index.js:75:16)
at Layer.handle [as handle_request] (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:328:13)
at /home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:346:12)
at next (/home/kingram/PROJECTS/omnibusapi/node_modules/express/lib/router/index.js:280:10)
at /home/kingram/PROJECTS/omnibusapi/node_modules/body-parser/lib/read.js:137:5
at AsyncResource.runInAsyncScope (node:async_hooks:206:9)
at invokeCallback (/home/kingram/PROJECTS/omnibusapi/node_modules/raw-body/index.js:238:16)
at done (/home/kingram/PROJECTS/omnibusapi/node_modules/raw-body/index.js:227:7)
at IncomingMessage.onEnd (/home/kingram/PROJECTS/omnibusapi/node_modules/raw-body/index.js:287:7)
at IncomingMessage.emit (node:events:518:28)
at IncomingMessage.emit (node:domain:488:12)
at endReadableNT (node:internal/streams/readable:1696:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'ER_SIGNAL_EXCEPTION',
errno: 1644,
sql: "INSERT INTO a (data) VALUES (data)",
sqlState: '45000',
sqlMessage: 'DUPLICATE: Already have that data'
}
console.log(err) produces:
TypeError: Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.
at _nonIterableRest (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at _slicedToArray (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at call (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:26:51)
at tryCatch (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at Generator._invoke (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at Generator.next (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at asyncGeneratorStep (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at _next (/home/kingram/PROJECTS/omnibusapi/routes/data/addNewData.js:2:1)
at processTicksAndRejections (node:internal/process/task_queues:95:5)