首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从$window.localstorage处理异常日志记录

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

Stack Overflow用户
提问于 2015-11-03 16:51:06
回答 1查看 44关注 0票数 0

我从John爸爸的演示中提取了一些测井角异常代码。

问题代码在这里:

代码语言:javascript
运行
复制
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的对象的属性消息。

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

EN

回答 1

Stack Overflow用户

发布于 2015-11-03 16:57:05

抛给异常处理程序的exception.message似乎是“只读”。我没有任何文档来支持这一点(可能是那些不同的浏览器所做的事情之一),但是一个简单的测试将是使用一个局部变量来记录消息。因为您只是记录和委派,所以这可能是您所需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33504761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档