Tag: stack trace

获取nodejs错误的行号

我正在编写一些代码来使用Grunt任务运行器和Node来自动化构build过程。 运行任务时发生错误时,不显示行号或文件。 这使得find真正的问题是一个痛苦。 例: $ grunt build运行“build”任务警告:无法设置未定义的属性'_appConfig'使用–force继续。 由于警告而中止。 我不完全确定什么是负责处理这些错误消息(节点,咕噜),因为我是相当新的JS开发,特别是节点。 因此,我想知道需要改变什么,所以我得到文件和行信息与错误。 堆积痕迹作为奖金。

合并重新出现的错误中的堆栈跟踪

我在这里重新抛出Sequelize承诺(蓝鸟)的错误。 首先,这是为了改变错误信息,但是当它出现时,这也产生了更多信息的堆栈跟踪。 这是类似的 sequelize.sync().catch(originalError => { const rethrownError = new Error(originalError.msg + ': ' + originalError.sql); throw rethrownError; }); 其中originalError.stack不包含导致错误的行,但是它包含重要的信息,它来源于Sequelize和MySQL驱动程序: SequelizeDatabaseError: ER_KEY_COLUMN_DOES_NOT_EXITS: Key column 'NonExisting' doesn't exist in table at Query.formatError (…\node_modules\sequelize\lib\dialects\mysql\query.js:175:14) at Query._callback (…\node_modules\sequelize\lib\dialects\mysql\query.js:49:21) at Query.Sequence.end (…\node_modules\mysql\lib\protocol\sequences\Sequence.js:85:24) at Query.ErrorPacket (…\node_modules\mysql\lib\protocol\sequences\Query.js:94:8) at Protocol._parsePacket (…\node_modules\mysql\lib\protocol\Protocol.js:280:23) at Parser.write (…\node_modules\mysql\lib\protocol\Parser.js:74:12) at Protocol.write (…\node_modules\mysql\lib\protocol\Protocol.js:39:16) at Socket.<anonymous> (…\node_modules\mysql\lib\Connection.js:109:28) at emitOne […]