2014-07-06 2 views
0

많은 요청과 응답을받는 서버를 빌드합니다.node.js에서 디버깅

  1. 는 스택 추적이 나에게 라인에 대한 정보를 제공하지 않습니다 나는이 문제가

    events.js:72 
         throw er; // Unhandled 'error' event 
          ^
    Error: ENOENT, open '/mnt/ace/0/file' 
    

    을 : 어떤 경우

    , 서버 호감 원인이 오류가 내 응용 프로그램에서이 예외가 발생합니다 (수동으로 디버깅을 할 수없는 이유는 단지 1000 개 이상의 요청이 발생하기 때문입니다).
  2. 나는 내 서버 ould가 부숴 지길 원치 않습니다. 나는 그것이 예외를 제기하는 것을 선호하지만, 계속 작동 할 것이다.

가장 적합한 구현 방법은 무엇입니까?

+0

참조 http://stackoverflow.com/questions/7310521/node-js-best-practice-exception-handling – JohnnyHK

답변

2

은 아니지만은 앱을 중단시키지 않았지만 항상 좋은 생각은 아닙니다.

process.on('uncaughtException', function(err) { 
    console.log('Something bad happened'); 
    console.log(err.stack); 
}); 

ulimit 설정을 확인해 보셨습니까? 1000 이상의로드가 발생하면 파일 핸들을 여는 데 문제가있을 수 있습니다.

도메인 (> = 0.8을 사용하는 경우)을 사용하는 것이 좋습니다. 도메인은 상황에 따라 오류를 처리하는 방법을보다 미세하게 제어 할 수 있습니다.

var domain = require('domain').create(); 

domain.on('error', function(err) { 
    console.log(err); 
}); 

domain.run(function() { 
    // Your code that might throw 
});