我用Javascript编写了一个项目并使用try / catch如下:
try{
var params = {
't_id': msg.from.username,
0: config.botToken
};
request.post({
url: urls.get('favorites'),
json:true,
body: {
jsonrpc: '2.0',
method: 'favorites',
params: params,
id: 1
}
}, function(error, response, body) {
if(body.result == undefined)
throw "other";
});
}catch(err)
{
let message = messages.getMessages(err);
console.log(message);
}
启动程序后,显示以下错误:
/var/www/html/marketer_bot/classes/Products.js:54 抛出"其他";
例如:Products.js:54
是指throw "other";
我不知道问题是什么!你能救我吗?
答案 0 :(得分:1)
您正在抛出异步执行的回调。这意味着在try-catch
语句已经完成运行后将执行代码块。
您需要在执行回调时处理回调中的错误:
request.post({
url: urls.get('favorites'),
json:true,
body: {
jsonrpc: '2.0',
method: 'favorites',
params: params,
id: 1
}
}, function(error, response, body) {
if(body.result == undefined) {
// handle error right here
}
});