2012-04-19 6 views
8
내 전체 Node.js를 응용 프로그램 충돌에서 오류를 방지

내 응용 프로그램은 누구나가 사용할 수 없게 만드는 오류, 전체 서버 충돌을 발견 할 때마다 Heroku가취급 또는 Heroku가

에서 호스팅 Node.js를 응용 프로그램을 가지고 .

대신 오류 페이지를 반환하고 서버를 활성 상태로 유지할 수 있습니까?

나는이, Node.JS with forever on Heroku를 읽을 수 있지만 그것은 내 질문에 ....

+0

I * half * 이것을 알아 냈습니다. 그러나 오류 페이지를 보내는 데 문제가 있습니다. - http://stackoverflow.com/questions/10221309/use-process-onuncaughtexception-to-show-a-500-error -page – Alex

+0

좋은 답변으로 비슷한 또 다른 게시물을 발견했습니다. http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try- : [여기] [1] [1]을 확인하시기 바랍니다 catch-doesnt-work – Sadaka

답변

4

DOMAIN을 사용하면 uncaughtException이 발생했을 때 서버가 중단되는 것을 방지 할 수 있습니다. 자세한 내용은

domain = require('domain'), 
d = domain.create(); 

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

은 블록을 시도 - 캐치해야한다이 방법을 사용하여 옆에

http://shapeshed.com/uncaught-exceptions-in-node/ 이동합니다.

+1

이 게시물은 오래된 게시물이지만 업데이트하려면 ** DOMAIN **이 (가) 더 이상 사용되지 않아야합니다. – Azevedo

+0

@Azevedo 업데이트 해 주셔서 감사합니다.하지만 유감스럽게도 Node Docs가 제공하는 더 나은 대체품은 없습니다. http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try-catch-doesnt-work 여기에서 더 읽을 수 있습니다. –