我们正在$exceptionHandler callback
回调内部使用$exceptionHandler收集错误事件,我们将异常信息存储在全局数组中。
但是当我们手动迭代exception
对象时,它显示数据,在调试器中它也显示数据,但是当我们使用JSON.stringify(exception)
时,它仅返回{}
大括号。
可能是什么问题?
我在$exceptionHandler
回调中的代码:
angular.module('myApp').factory('$exceptionHandler', ['$log', '$injector', function ($log, $injector) {
var $rootScope;
return function myExceptionHandler(exception, cause) {
debugger
$rootScope = $rootScope || $injector.get('$rootScope');
var TAG = 'myExceptionHandlerTAG';
var expJson = JSON.stringify(exception);
var eve = {
event : "error",
params : { user_id : user_id,
role : role,
time : new Date().getTime(),
code_name: navigator.appCodeName,
name: navigator.appName ,
version: navigator.appVersion ,
cookie: navigator.cookieEnabled,
language: navigator.language,
on_line: navigator.onLine,
platform: navigator.platform,
user_agent: navigator.userAgent,
exception: expJson,
cause: cause },
source : "web_app"
};
$rootScope.events_json.push(eve);
$log.error(eve);
};
}]);
更新:
调试器中exception
对象的内容:
调试器中expJson
对象的内容:
此外,除了分配给其他变量外,我不会在代码中的任何地方修改exception
对象。