6

私はエクスプレスアプリを開発しています。

現在、server.jsに次のものがあります

process.on('uncaughtException', function (err) {
    console.log( "UNCAUGHT EXCEPTION " );
    console.log( "[Inside 'uncaughtException' event] " + err.stack || err.message );
});

エラーが発生するたびにサーバーがクラッシュするのを防ぎますが、そこに座っているだけです...

console.log の代わりに、エラーの詳細を含む 500 エラー ページを送信することはできますか?

4

2 に答える 2

8

uncaughtExceptionリクエストが発生していない場合でも発生する可能性があるため、内部から応答を行うことはできないと思います。

Express 自体は、次のようにルート内のエラーを処理する方法を提供します。

app.error(function(err, req, res, next){
    //check error information and respond accordingly
});
于 2012-04-19T03:45:23.810 に答える
4

ExpressJSエラー処理 に従ってapp.use(function(err, req, res, next){ // your logic });、他のapp.useステートメントの下に追加します。

例:

app.use(function(err, req, res, next){
  console.log(err.stack);
  // additional logic, like emailing OPS staff w/ stack trace
});
于 2014-07-04T15:24:49.790 に答える