我正在努力为angularjs做贡献,我在某处犯了一个错误。 在业力单元测试的控制台输出中,我看到以下内容:
Uncaught TypeError: Object #<Object> has no method 'then'
at /Users/me/dev/angular.js/src/ngMock/angular-mocks.js:246
此错误导致我的行是angular.mock.$ExceptionHandlerProvider.mode
中rethrow
的一行。所以,这件事是重新抛出异常,但我怎么知道它来自哪里?我知道这意味着我希望在某个地方有一个$ q的承诺,但没有得到一个,但我想知道我的代码在哪里发生了。
答案 0 :(得分:2)
尝试将try..catch添加到抛出它的位置并打印堆栈跟踪
try {
// line 246 in angular-mocks.js
} catch(e) {
console.log(e.stack);
}
你可以将整个文件包装在try..catch中,以确保它能够捕获异常。