Nodejs中的错误处理

时间:2014-11-26 18:02:13

标签: node.js error-handling

我有来自nodejs的twit模块的代码片段:

 function tweets() {
        T.get('search/tweets', { q: input, since:'2013-11-11', count: 3 }, function(err, data, response) {
            if (data) {
                  sendMain(data.statuses[0].text);
            }
            else if (err) {
                sendMain(err);
            }
})
    }

并且除了错误处理之外一切正常,例如,如果我搜索food,会弹出一条推文,但如果我搜索ljfhlsjkdfhsldf,则会出现以下错误:

              sendMain(data.statuses[0].text);
                                       ^
TypeError: Cannot read property 'text' of undefined
    at c:\Users\karim_000\dropbox\main\bot2.js:235:44
    at responseHandler (c:\Users\karim_000\dropbox\main\node_modules\twit\lib\oa
request.js:375:12)
    at passBackControl (c:\Users\karim_000\dropbox\main\node_modules\twit\node_m
odules\oauth\lib\oauth.js:367:11)
    at IncomingMessage.<anonymous> (c:\Users\karim_000\dropbox\main\node_modules
\twit\node_modules\oauth\lib\oauth.js:386:9)
    at IncomingMessage.emit (events.js:117:20)
    at _stream_readable.js:943:16
        at process._tickCallback (node.js:419:13)
    Program node bot2 exited with code 8

为什么我的错误处理不起作用?任何帮助?感谢。

1 个答案:

答案 0 :(得分:2)

这不一定是发生的错误。您收到了data参数,但我的猜测是dataundefinednull

您是否尝试console.log('data: ' + data);查看返回的内容?这将告诉您确定在data参数中返回的内容。