查找angular.mock.exceptionHandlerProvider中抛出的异常的真实来源

时间:2014-02-23 21:59:31

标签: angularjs unit-testing karma-runner

我正在努力为angularjs做贡献,我在某处犯了一个错误。 在业力单元测试的控制台输出中,我看到以下内容:

    Uncaught TypeError: Object #<Object> has no method 'then'
at /Users/me/dev/angular.js/src/ngMock/angular-mocks.js:246

此错误导致我的行是angular.mock.$ExceptionHandlerProvider.moderethrow的一行。所以,这件事是重新抛出异常,但我怎么知道它来自哪里?我知道这意味着我希望在某个地方有一个$ q的承诺,但没有得到一个,但我想知道我的代码在哪里发生了。

1 个答案:

答案 0 :(得分:2)

尝试将try..catch添加到抛出它的位置并打印堆栈跟踪

try {
  // line 246 in angular-mocks.js
} catch(e) {
  console.log(e.stack);
}

你可以将整个文件包装在try..catch中,以确保它能够捕获异常。