2016-09-09 11 views
-2

私は、これは少し愚かな質問であると認識ちょうど表示未定義の変数名だけではなく、未定義のノード

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) 

ではなく、定義された変数の実際の名前を表示する方法があった場合、私は思っていましたこの特定のケースでは、私はデータを破棄しており、どれが欠けているかを理解するのは非常に難しい/退屈です。だから、それが可能でなければならない enter image description here

:私は放火犯がこの機能を持っていることを知っている

...私はそのようにそれを調べることができますので、それはまた、私のラインや文字を与える知っているが、私は怠け者ノードと同様

私はすぐに、その後readlineにそれらを養うあなたのスタックからラインやファイルを取得することができstack-traceを使用することによりノード6.3.0

+0

テキストエディタを開いて行番号を入力して読み込むことはできません。あなたはこのばかげた質問をするのに要した時間に20回それをしていた可能性があります。あなたはあなたが持っているポイントの数で、よりよく知っている必要があります。 – Archer

+0

コメントはありません票を落としましたか?少しフィードバックの人 –

+0

私はアーチャーと言ったように...私はできるが、私はしたくない。 –

答えて

0

を使用しています。かなりかすかですが、私はそれがあなたの問題を解決すると思います。

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) 
     } 
    }); 

} 
+0

これをやってくれてありがとうwoodsy:ありがとう、私はただ私のエクスプレスアプリでこのグローバルにする必要がありますし、すべてのエラーがキャッチされ、それは私に行番号を知らせる。私はこれについてもっと理解するためにこれを研究します。 –