2012-04-04 16 views
0

私はexpressjsとmongoskinを使用してデータベースに接続しています。私はmongskin呼び出しの中でexpressjsエラーを投げるときに問題があります。私はエラーがとても一般的なので、問題を追跡するために縫い合わせることはできません。Expressjでこのエラーの原因は何ですか?

マイコード:

db.collection('users').find(data, {limit:1}).toArray(function(err, result) { 
    if(result) throw new noData('No results found');   
});  

エラー:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error 
    at /home/jmoney/workspace/blog/app.js:238:15 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:129:9 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:171:11 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:452:35 
    at Cursor.close (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:660:5) 
    at Cursor.nextObject (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:452:17) 
    at [object Object].<anonymous> (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:440:12) 
    at [object Object].g (events.js:156:14) 
    at [object Object].emit (events.js:88:20) 
    at Db._callHandler (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/db.js:1274:25) 

なぜこれが破壊される可能性があります上の任意のアイデア?どのように詳細なエラー報告を取得するのですか? ありがとうございました!

+1

実際のエラーメッセージを含めてみてください。エラーメッセージはおそらく '結果が見つかりませんでした。 ' – Raynos

+0

関数シグネチャでは' result'を、if文では 'results'(_plural_)を使用しています。 – cordsen

+0

@Raynos、これはノードから得られるすべての情報です。私はエラーを投げると、何とかエラーが発生します。タイプミスに気づいたことに感謝し、今更新しました。私が例を打ち込んでいたときに誤って入力しました。 – Justin

答えて

0

何をしているのか分からない限り、node.js関数呼び出しを投げないでください。 toArrayの内側で起こるので、スローがスクロールするための「スタック」はありません。これにより、例外が処理されない例外になります。

にconsole.log()/ DIR()または同様のものを使用すると、ログファイルにそれを記録するか、または使用

http://nodejs.org/api/process.html#process_event_uncaughtexception

を使用しているトラップする唯一の方法。

関連する問題