我意识到这是一个愚蠢的问题,但是我想知道是否有一种方法可以显示定义的变量的实际名称,而不只是显示
Unhandled rejection TypeError: Cannot read property '0' of undefined
at Object.gamesExport.addGame (/var/www/football.co.uk/app/api/api.Games.js:104:88)
在这种情况下,我正在抓取数据,并且很难/无聊地找出丢失的数据。我知道它也给我线条和特征,所以我可以像这样查找它,但是我很懒...
我知道 Firebug 具有以下功能:
所以节点也必须有可能
我正在使用节点6.3.0
最佳答案
通过使用stack-trace,您可以快速从堆栈中获取行和文件,然后将其输入readline
中。它很草率,但我认为它可以解决您的问题。
var stackTrace = require('stack-trace');
var fs = require('fs');
var readline = require('readline');
try{
var x = 1;
x = 1+y; //Error Y not defined
}catch (err){
var count = 0;
var trace = stackTrace.parse(err)
var eFile = trace[0].fileName
var eLine = trace[0].lineNumber
var rl = readline.createInterface({
input: fs.createReadStream(eFile)
});
rl.on('line', function(line) {
count++
if (count === eLine) {
console.log("Error: "+line)
}
});
}