node.js - Nodejs 中的错误处理

标签 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

为什么我的错误处理不起作用?有什么帮助吗?谢谢。

最佳答案

这不一定是正在发生的错误。您将获得 data参数返回,但是,我的猜测是 dataundefinednull .

你试过console.log('data: ' + data);看看返回的是什么?这将肯定地告诉您 data 中返回的内容是什么。范围。

关于node.js - Nodejs 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155978/

相关文章:

php - 连接到 Authorize.NET PHP SDK 时出错

javascript - 在从我的 promise /功能返回之前等待 forEach 完成

javascript - atob 如何不使用 base64 从 Buffer 转换?

node.js - 通过 Node.js 读取文件需要打开或关闭文件吗?

java - 无法读取输入?

c++ - 更改此代码后,为什么会给我 “segmentation fault”错误?

actionscript-3 - 是否存在ActionScript 3错误1046处理程序?

javascript - socket.io 将数据发送到匹配的套接字

javascript - NodeJS 中使用 bluebird Promise 的链函数

c++ - C++ cout和cin执行错误: main.cpp: In function ‘int main()’