exception-handling – 如何在node.js中捕获http客户端请求异常

我有一个node.js应用程序,我想用来检查一个特定的网站是否已经启动并返回正确的响应代码。我想要能够捕获任何错误,因为域名未解决或请求超时。问题是,那些错误导致Node crap out。我是新的这个整个异步编程方法,所以我不知道在哪里放我的try / catch语句。

我有一个ajax调用,像/ check / site1。服务器端调用一个函数尝试进行连接,然后返回statusCode。这是一个非常简单的函数,我已经在try / catch包装每一行,它从来没有捕捉到任何东西。这里是:

function checkSite(url){
    var site = http.createClient(80,url);
    var request = site.request('GET','/',{'host': url});
    request.end();
    return request;
  }

即使每一行包裹在try / catch,我仍然会得到未捕获的异常,如ehostunreach等。我想能够捕获那些并返回到ajax调用

关于接下来要做什么的任何建议?

解决方法

http.createClient已被弃用。

这里是一个如何使用新的http.request处理错误快速示例:

var http = require("http");

var options = {
    host : "www.example.com"
};

var request = http.request(options,function(req) {
    ...
});
request.on('error',function(err) {
    // Handle error
});

request.end();

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...