0
我从John Papa的演示中获取了logging angular exceptions的一些代码。
问题的代码是在这里:
function extendExceptionHandler($delegate, exceptionHandler, logger) {
return function (exception, cause) {
var appErrorPrefix = exceptionHandler.config.appErrorPrefix || '';
var errorData = { exception: exception, cause: cause };
//problem occurs when setting exception.message
exception.message = appErrorPrefix + exception.message;
$delegate(exception, cause);
logger.error(exception.message, errorData);
};
}
当我在调试器断点,我可以看到,exception.message
具有价值
无法设置“的“authorizationData”属性存储':设置'authorizationData'的值超过配额。“
但是,行exception.message = appErrorPrefix + exception.message;
导致seco第二异常:
无法设置[对象的对象]仅具有吸气
该第二消息被正确地设置和记录器现在工作的属性信息。那么为什么我在第一个异常抛出时不能设置exception.message
属性? (它被$window.localStorage[key] = JSON.stringify(value);
抛出)