我有来自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
为什么我的错误处理不起作用?任何帮助?感谢。
答案 0 :(得分:2)
这不一定是发生的错误。您收到了data
参数,但我的猜测是data
是undefined
或null
。
您是否尝试console.log('data: ' + data);
查看返回的内容?这将告诉您确定在data
参数中返回的内容。