Skip to content

Programable API catch error Error: [object Object] #524

Closed
@WClouds

Description

@WClouds

When I use db-migrate programable API, I meet the follow error:

{ Error: [object Object]
    at /Users/zhaiyafei/saas/tx-model-server/node_modules/db-migrate/lib/commands/on-complete.js:12:9
    at tryCatcher (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise.successAdapter [as _fulfillmentHandler0] (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/nodeify.js:22:30)
    at Promise._settlePromise (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:566:21)
    at Promise._settlePromise0 (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)

My code is:

const dbmigrate = DBMigrate.getInstance(true, { config });
  dbmigrate.up()
  .then((info) => {
    console.log('after up====>', info);
  })
  .catch(err => {
    console.log('catch error===>', err);
  });

I found that the error is from on-complete.js:

migrator.driver.close(function (err) {
    if ((err || originalErr) && typeof callback === 'function') {
      callback(
        new Error({
          err: err,
          originalErr: originalErr
        })
      );
      return;
    } else {
      assert.ifError(originalErr);
      assert.ifError(err);
      log.info('Done');
    }

My question is: why callback an Error with an object? And when I catch the error, how can I parse the error to see the exact error?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions