Javascript的错误尝试捕获

时间:2016-05-17 05:27:16

标签: javascript

我用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";

我不知道问题是什么!你能救我吗?

1 个答案:

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