Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Angular在js中新定义的error()上获取未定义的错误异常_Javascript_Angularjs_Jasmine_Sentry_Raven - Fatal编程技术网

Javascript 使用Angular在js中新定义的error()上获取未定义的错误异常

Javascript 使用Angular在js中新定义的error()上获取未定义的错误异常,javascript,angularjs,jasmine,sentry,raven,Javascript,Angularjs,Jasmine,Sentry,Raven,这就是我得到的控制台错误 it('should catch exceptions', inject(function ($timeout) { spyOn(Raven, 'captureException'); $timeout(function () { throw new Error('My oh My'); });

这就是我得到的控制台错误

it('should catch exceptions',
            inject(function ($timeout) {
                spyOn(Raven, 'captureException');

                $timeout(function () {
                    throw new Error('My oh My');
                });
                $timeout.flush();

                expect(Raven.captureException).toHaveBeenCalledWith('My oh My', new Error('My oh My'));
            })
        );
那么,我做错了什么?从MDN文档中,我得到了以下示例:

PhantomJS 1.9.8 (Mac OS X 0.0.0) $exceptionHandler should catch exceptions FAILED
    Error: My oh My
undefined
        at /Users/MyUser/App/src/app/exception.factory.spec.js:17
        at invoke (/Users/MyUser/App/bower_components/angular/angular.js:4560)
        at workFn (/Users/MyUser/App/bower_components/angular-mocks/angular-mocks.js:2518)

这看起来正是我在做的,所以我不明白我新定义的错误怎么可能是未定义的…

angularjs捕获的是错误,而不是Raven。另外,
error
的一个实例在任何情况下都不等于另一个实例。
try {
  throw new Error('Whoops!');
} catch (e) {
  console.log(e.name + ': ' + e.message);
}