微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐