求助,如何捕获 Error: connect ETIMEOUT 等导致进程直接结束的错误?
发布于 13 年前 作者 xiongliding 7495 次预览 最后一次回复是 13 年前 来自
在用 https.get 访问其他服务器时超时,结果出现 Error: connect ETIMEOUT ,并且进程终止。
请问这类错误该如何捕获?
我尝试了
https.get(options, function(res){
...
res.on('error', function(e){
...
});
});
和
try {
https.get(options, function(res){
...
});
} catch (e) {
...
}
都不能阻止报错,是我方法不当么?还有什么解决方法?
3 回复
……自问自答了,文档没看清楚,
.on('error' ...)要加在外面。Error: connect ETIMEOUT 原因是对方地址不存在。
嗯,我那次的原因是 DNS 缓存,我在电信的网络开了个虚拟机,然后休眠,在一个移动的网络环境里唤醒,结果就访问超时了,搞了好久才发现问题出在这里。