当没有互联网连接时,Node.js getaddrinfo ENOTFOUND

时间:2017-04-06 15:53:47

标签: node.js http express

通常,一切正常,但是当没有互联网连接时,我的应用程序会抛出错误:

    events.js:160
      throw er; // Unhandled 'error' event
      ^

   Error: getaddrinfo ENOTFOUND

    /* my code - putting this to try...catch have no effect: */
    var http = require('http');
    // (...)
    var req = http.request(options, response => {
       /* ... */
    });
    req.write(data);
    req.end();

那么当互联网连接关闭并且我想阻止我的应用程序停止时,我该怎么办?

1 个答案:

答案 0 :(得分:1)

为防止您的app在外部服务器的互联网连接中断时停止,您可以捕获getaddrinfo ENOTFOUND错误并将错误消息返回给最终客户端。请检查此SO,了解如何捕获getaddrinfo ENOTFOUND错误。

在您的情况下,代码将是:

var http = require('http');
// (...)
var req = http.request(options, response => {
   /* ... */
});
req.on('error', function (err) {
    // Check error type and console.log corresponding message.
});
req.write(data);
req.end();