#1.
TLENS
Off
(14)
Moderator
2015.10.14 12:12
Есть программа подключающаяся longPollServer vk и ждет события,
но если умышленно отключится от интернета то программа падает напрочь.
Не пойму как выхватить данный эксепшен не перехватывая его в process.on()
Код:
| this.request = function (url, callback) { |
| var parseUrl = URL.parse(url); |
| var option = { |
| protocol: parseUrl.protocol, |
| hostname: parseUrl.hostname, |
| port:parseUrl.port, |
| path:parseUrl.pathname, |
| agent:false |
| }; |
| var output = ""; |
| var status; |
| var headers; |
| var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) { |
| |
| status = res.statusCode; |
| headers = res.headers; |
| res.setEncoding('utf8'); |
| res.on('data', function(d) { |
| output += d; |
| }) |
| .on('end', function () { |
| |
| if (status == 200) { |
| callback(output); |
| } |
| else { |
| console.log({error: 'status', status: status}); |
| self.request(url, callback); |
| } |
| }); |
| }) |
| .on('error', function(e) { |
| console.log({errConn: e}); |
| |
| setTimeout(function () { |
| self.request(url, callback); |
| }, 5000); |
| return true; |
| }); |
| |
| }; |
Если попытаться соединится при отключенном интернете то все норм срабатывает
Код:
| req.on('error', function(e) { |
| console.log({errConn: e}); |
| |
| setTimeout(function () { |
| self.request(url, callback); |
| }, 5000); |
| return true; |
| }); |
но как быть когда соединение уже установилось но потом разорвалось?