私はエラーを処理しようとしていますが、残念ながら私は成功しません。window.onerrorでJavaScriptエラーを処理する
window.onerror = function (msg, url, line, col, error) {
alert('error');
};
$timeout(() => errorrr);
そして、私は、コンソール上のエラーを参照くださいながら:私のAngularJSアプリの 'RUN' 私はこのコードを書くには
ReferenceError: errorrr is not defined
を私は警告を得ることはありません...
私がアプリケーションの「実行」の外で同じコードを実行すると動作します。
なぜ/私はそれを修正できますか?
編集 角度使用して、私は$ rootScopeに
angular.module('app').factory('$exceptionHandler', function ($log, $rootScope) {
return function myExceptionHandler(exception, cause) {
$log.error(exception, cause);
$rootScope.errors.push({
exception: exception,
cause: cause
});
};
});
を取得することはできませんそれは
Circular dependency found: $rootScope <- $exceptionHandler <- $rootScope
をスローし、この工場内の$ rootscopeを取得する方法はあります?
AngularJsは、独自のエラー処理ルーチンを持っています。 [$ exceptionHandler'のドキュメントを参照](https://docs.angularjs.org/api/ng/service/$exceptionHandler) –
@MikeMcCaughan編集して、$ exceptionHandlerを使用しましたが、$ rootscopeを呼び出すことができません。何か案が? – Amit
あなたは別の質問をしているように聞こえます...なぜ私は 'window.onerror'があなたが生成したエラーを拾っていないのか気づいていました。新しい質問がある場合は、最初にインターネットとスタックオーバーフローを検索し、何も見つからない場合は新しい質問をしてください。 –