繁体   English   中英

Node.js中的异常处理程序

[英]Exception handler in Node.js

我有一个非常简单的问题; 我的端点错误,当我尝试以下代码时,它将引发异常

client.post("http://WrongEndPoint", [], function (data, response) {
    console.log("data:", data, "response:", response.statusCode);
})

错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ETIMEDOUT
    at errnoException (net.js:905:11)
    at Object.afterConnect [as oncomplete] (net.js:896:19)

所以我尝试了异常处理程序,但是它仍然没有处理异常,并且得到了相同的异常:

try {
    client.post("http://WrongEndPoint", [], function (data, response) {
        console.log("data:", data, "response:", response.statusCode);
    })
} catch (e) {
    console.log("Error:", e)
}

为什么我仍然不能处理异常?

JavaScript try / catch语句在这种情况下不起作用,因为此操作异步执行:

client.post("http://WrongEndPoint", [], function (data, response) {
    console.log("data:", data, "response:", response.statusCode);
});

要抓住它,你应该使用这样的方法

client.post("http://WrongEndPoint", [], function (data, response) {
    console.log("data:", data, "response:", response.statusCode);
}).on('error', function(err){  console.log(err); });

但是我不确定它是否正确,因为我需要知道您使用的是哪个库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM