1
だから、些細なことです。Express.jsはどのようにエラーを処理しますか?
UPDATE:この質問エクスプレスで我々はExpressが組み込まれていることなどにReferenceError、例外TypeError、のような「同期例外」を処理するための四つの引数(errは、REQ、RES、次を)期待して、デフォルトのエラーハンドラを知っているすべての処理されない例外などを捕まえる方法ではありません。私は最初のコードブロックでExpressがユーザー定義の例外をどのように処理できるかを知りたい。 asyncを使用した2番目の例。例外は直接この質問には属しません。
const express = require('express')();
express.all('*', (req, res) => {
throw new Error('my own error');
res
.send('okay?');
});
express.use((err, req, res, next) => {
console.error(err.stack);
res
.status(503)
.send('Express is still up and running');
}).listen(3000);
ではなく、この:
const express = require('express')();
express.all('*', (req, res) => {
process.nextTick(() => {
throw new Error('my own error');
});
res
.send('okay?');
});
express.use((err, req, res, next) => {
console.error(err.stack);
res
.status(503)
.send('Won\'t be executed');
}).listen(3000);
しかし、私はこのハンドラの実現について興味があります。
私は
process.on('uncaughtException'...
またはドメイン/約束/クラスタのような何かを見つけることができません。
多分私は何かが恋しいです。
誰でも明示できますか?
詳細な回答ありがとうございます。私はちょうどその行動を再現するために私自身の「Express」を作った。私にとってはとてもシンプルでエレガントなハンドリング。 – loadaverage