未处理的拒绝错误:无法获取网址: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')
并返回它,但没有任何帮助。
答
要抓住它,这是不够的:
.on('resourceError', function(err) {
console.log(err.message)
})
如果您使用的承诺和我之前.open()
,你可以return reject(new Error(err.message))
请,告诉你如何试图抓住排斥反应。我认为骑士用承诺取代回调? – Vaviloff
我已经知道如何正确地抓住它,尽管我不知道它为什么会一直在发生。它决定去做。 @ ##%4 PhantomJS。 – mfgabriel92
马术诺言链中是否有'.catch'方法?如果我没有弄错,通常它会用来捕捉未处理的错误? – Vaviloff