2012-04-04 2 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

를 사용하는 트랩 할 수있는 유일한 방법.

관련 문제