1

リモート サイトがオフラインの場合、消費クライアントでこのエラーが発生します (httpモジュールを使用した Node.js v0.12.0):

 Uncaught exception: connect ECONNREFUSED
 Error: connect ECONNREFUSED
     at exports._errnoException (util.js:746:11)
     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:983:19)

現在使用しているコードは次のようになります。

var req = http.request(options, function (res) {
    res.on('socket', function (socket) {
        socket.setKeepAlive(true, 0);
        socket.setNoDelay(true);
    });

    res.on('end', function () {
        log.debug('Success');
    }).on('error', function () {
        log.error('Response parsing failed');
    });
}).on('error', function () {
    log.error('HTTP request failed');
});

req.write(packet);
req.end();

「エラー」イベントが発生したときに発生することはありません。「 clientError」イベントECONNREFUSEDを使用してみましたが、これも発生しません。

このエラーをキャプチャするにはどうすればよいですか?

4

1 に答える 1

0

から抽出: https://stackoverflow.com/a/4328705/4478897

注:この投稿は少し古いです

次の例http.createClient

残念ながら、現時点ではこれらの例外を直接キャッチする方法はありません。これは、すべての処理がバックグラウンドで非同期に行われるためです。

できることは、自分で uncaughtException をキャッチすることだけです。

process.on('uncaughtException', function (err) {
    console.log(err);
}); 

多分それはあなたを助ける!

もっとこれ:https://stackoverflow.com/a/19793797/4478897

アップデート:

に変更しようとしlog.error()ましたconsole.error()か???

于 2015-07-24T13:35:48.650 に答える