我有一个非常简单的问题;我有一个错误的端点,当我尝试以下代码时,它会抛出异常
client.post("http://WrongEndPoint", [], function (data, response) {
console.log("data:", data, "response:", response.statusCode);
})
ERROR:
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)
}
为什么我仍然无法处理异常?
答案 0 :(得分:1)
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); });
但是我不确定它是否正确,因为我需要知道你使用哪个库。