【问题标题】:defer.reject() in protractor does not show the stack trace? That is, I don't know which line of the code量角器中的 defer.reject() 不显示堆栈跟踪?也就是不知道是哪一行代码
【发布时间】: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


【解决方案1】:

错误对象只会捕获对调试有用的堆栈跟踪

Reject 只会拒绝 promise 并调用相应的失败方法

reject with error object 这只会捕获堆栈跟踪.ex:

reject(new Error("There is no matched record type"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-24
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2011-10-18
    • 2011-08-07
    相关资源
    最近更新 更多