未处理的拒绝错误:无法获取网址:https://google.com/alerts

问题描述:

我使用node-horseman访问Google快讯并执行应用程序所需的操作,但我经常看到这种我认为无用的错误解决方案来捕获并中断操作并显示错误消息。未处理的拒绝错误:无法获取网址:https://google.com/alerts

Unhandled rejection Error: Failed to GET url: https://google.com/alerts 
    at checkStatus (/home/gabriel/Sites/co-report-stable/api/node_modules/node-horseman/lib/actions.js:78:16) 
    at PassThroughHandlerContext.finallyHandler (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/finally.js:56:23) 
    at PassThroughHandlerContext.tryCatcher (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/util.js:16:23) 
    at Promise._settlePromiseFromHandler (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/promise.js:510:31) 
    at Promise._settlePromise (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/promise.js:567:18) 
    at Promise._settlePromise0 (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/promise.js:612:10) 
    at Promise._settlePromises (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/promise.js:691:18) 
    at Promise._fulfill (/home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/promise.js:636:18) 
    at /home/gabriel/Sites/co-report-stable/api/node_modules/bluebird/js/release/nodeback.js:42:21 
    at /home/gabriel/Sites/co-report-stable/api/node_modules/node-phantom-simple/node-phantom-simple.js:60:18 
    at IncomingMessage.<anonymous> (/home/gabriel/Sites/co-report-stable/api/node_modules/node-phantom-simple/node-phantom-simple.js:645:9) 
    at emitNone (events.js:91:20) 
    at IncomingMessage.emit (events.js:185:7) 
    at endReadableNT (_stream_readable.js:975:12) 
    at _combinedTickCallback (internal/process/next_tick.js:74:11) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

有没有人有任何想法如何捕捉它?我试过.on('error')并返回它,但没有任何帮助。

+0

请,告诉你如何试图抓住排斥反应。我认为骑士用承诺取代回调? – Vaviloff

+0

我已经知道如何正确地抓住它,尽管我不知道它为什么会一直在发生。它决定去做。 @ ##%4 PhantomJS。 – mfgabriel92

+0

马术诺言链中是否有'.catch'方法?如果我没有弄错,通常它会用来捕捉未处理的错误? – Vaviloff

要抓住它,这是不够的:

.on('resourceError', function(err) { 
    console.log(err.message) 
}) 

如果您使用的承诺和我之前.open()

,你可以return reject(new Error(err.message))