javascript - 显示 undefined variable 名称,而不仅仅是未定义的 Node

标签 javascript node.js error-handling

我意识到这是一个愚蠢的问题,但是我想知道是否有一种方法可以显示定义的变量的实际名称,而不只是显示

 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 具有以下功能:
enter image description here

所以节点也必须有可能

我正在使用节点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)
      }
   });

}

关于javascript - 显示 undefined variable 名称,而不仅仅是未定义的 Node ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39415933/

相关文章:

javascript - 使用 Angular js 加载谷歌地图

asp.net - 可以使用 issnode 将 asp.net windows 窗体与 node.js 结合使用

Java NIO 非阻塞模式 vs node.js 异步操作

java - 如果正在读取的文件格式不正确,请关闭程序吗?

javascript - 如何使用多个生成的引导时间选择器字段

javascript - 全部展开和全部折叠在所有情况下都不起作用

node.js - 我如何使用 Forever With Express 来保持 NodeJS 服务器的运行?

c++ - 如何在不更改的情况下检索当前的 terminate() 处理程序?

php - 在可调用的set_error_handler中获取产生错误的函数名称

javascript - 如何判断 Blazor 何时完成渲染 DOM 元素?