Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 从$window.localstorage处理异常日志记录_Javascript_Angularjs - Fatal编程技术网

Javascript 从$window.localstorage处理异常日志记录

Javascript 从$window.localstorage处理异常日志记录,javascript,angularjs,Javascript,Angularjs,我从John Papa的演示中获取了一些代码 问题代码如下: function extendExceptionHandler($delegate, exceptionHandler, logger) { return function (exception, cause) { var appErrorPrefix = exceptionHandler.config.appErrorPrefix || ''; var errorData = { except

我从John Papa的演示中获取了一些代码

问题代码如下:

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;
会导致第二个异常:

无法设置只有getter的[object]的属性消息

第二条消息设置正确,记录器现在可以工作了。那么,为什么我不能在引发第一个异常时设置
异常.message
属性?(通过调用
$window.localStorage[key]=JSON.stringify(value);

引发到异常处理程序的异常.message似乎是“只读”的“。我没有任何文档支持这一点(可能是每个浏览器都有不同的功能之一),但一个简单的测试是对记录的消息使用局部变量。因为您只需要记录和授权,所以这可能就是您所需要的