【发布时间】:2011-05-18 17:32:42
【问题描述】:
我有一个 node.js 应用程序,我想用它来检查特定站点是否已启动并返回正确的响应代码。我希望能够捕获由于域名未解析或请求超时而出现的任何错误。问题是这些错误会导致 Node 崩溃。我是整个异步编程方法的新手,所以我不确定在哪里放置我的 try/catch 语句。
我有一个类似于 /check/site1 的 ajax 调用。服务器端调用一个尝试建立连接然后返回状态码的函数。这是一个非常简单的函数,我将每一行都包装在一个 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 调用。
关于下一步要尝试什么有什么建议吗?
【问题讨论】:
标签: exception-handling node.js express