2017-01-30 2 views
0

私のNode.jsを検出した場合にNode.jsのアプリがクラッシュするエラーが(Express.js)アプリケーションのエラーが発生したたびに、クラッシュした(ように構文/未定義の変数とし...)

はここだけに任意のソリューションです。それを記録し、私のアプリをクラッシュさせない?私はnode.jsエラーのドキュメントを読みましたが、解決策が見つかりませんでした。 https://nodejs.org/api/errors.html

私はエクスプレスジェネレータからアプリケーションを生成しました。私はこれについて話していますが、構文エラーです。変数は未定義ですが、サーバーは実行中です。http://prnt.sc/e2b7ceクラッシュしていません。

+0

エンジン私の車の中で」doesnの仕事。エラーを記録している間にドライブする方法はありますか? – Craicerjack

+1

@Craicerjackこれは正しいですが、あなたの場合:)) –

+0

'asfa'とは何ですか、なぜあなたのルートに書かれているのですか? '、' '{as '}' 'asfa'は以下のようになります:' router.get('/'、function(req、res、next)){ asfa res.render(' index '、{title:' Express '}); }このルートに含まれている定義されていません – Craicerjack

答えて

1

エラーにもよりますがほとんどの場合、 エラーが発生してアプリがクラッシュする場合は、アプリが実行する必要があります。 特定のエラーについて話している場合は、そのエラーの詳細を共有する必要があります。それは、このようなエラーの後unpredictible状態であるため
これは、あなたがエラーをキャッチできますが、あなたはあなたのせいなエラーでこれを行うべきではありませんnode
Node.js Best Practice Exception Handling

0

にエラー処理に関する優れた読み取りかもしれませんアプリ全体(nodemon、永遠に)を再起動するのがベストです。 dbに達していない、妥当性検査、約束の誤りなどのエラーは、それを捕らえるべきです。 2番目の質問に

、あなたはその

process.on('uncaughtException', err => {}) 
0

のような未処理のエラーのためにイベントを使用することができます私はこの問題を修正しました。変数が定義されていない場合(エラー)

私は、アプリケーションのメインapp.jsファイル の最後にこのコードを挿入(response.errorがカスタムメッセージのための私のカスタム関数である)

app.use(function(err, req, res, next) { 
    res.status(err.status || 500).json(response.error(err.status || 500)); 
}); 
関連する問題