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

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