【发布时间】:2016-09-24 12:53:43
【问题描述】:
我使用 defer.rejct() 作为错误处理方法。 但是,当它抛出失败时,它没有显示堆栈跟踪。 有没有一种简单的方法可以在量角器中使用 Promise 捕获异常?
function formatPoolRecordsGridData(row) {
var defer = protractor.promise.defer();
switch (record.poolLevelRecordType) {
case "A":
<do something here>
break;
default:
//Error Handling
defer.reject('There is no matched record type');
break;
}
//There is no way to say which line of the code it is failed
Message:
Failed: There is no matched record type
Stack:
Error: Failed: There is no matched record type
at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:101:16
at Promise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14)
at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14)
at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21)
【问题讨论】:
-
reject with error object that will catch the stack trace.ex: reject(new Error("There is no match record type"))
标签: javascript promise protractor angular-promise deferred