gpt4 book ai didi

javascript - 为什么 crockford 在他的 json_parse 函数中创建这种类型的错误函数?

转载 作者:行者123 更新时间:2023-12-02 15:32:51 24 4
gpt4 key购买 nike

https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js在此链接中,Douglas Crockford 创建了一个 json_parse 函数,该函数由一个 IIFE 中的许多函数组成。内部函数之一是以下错误抛出函数:

    error = function (m) {
throw {
name: 'SyntaxError',
message: m,
at: at, // the variable he stores his incrementing index
text: text // the string from the JSON object
};
},

我对这个错误函数很感兴趣,因为我从来没有见过这样写的错误函数。当我使用如下无用的输入测试错误函数时:

json_parse('{123: 123}');

我收到以下错误:

/Users/<user>/src/crockford.js:30
throw {
^
SyntaxError: Bad string

但是,如果我返回到原始错误函数并通过删除 at 和 text 值来修改错误函数,如下所示:

        error = function (m) {
throw {
name: 'SyntaxError',
message: m
};
},

我最终得到了同样的错误消息。

如果出现错误时不显示索引和输入文本,那么将索引和输入文本添加到错误消息中有何意义?我对他的错误函数的结构缺少什么?目的是什么?

最佳答案

默认错误处理程序不会显示这些属性,但可以通过 catch block 中的代码访问它们,或者您可以在 Javascript 调试器中查看它们。

关于javascript - 为什么 crockford 在他的 json_parse 函数中创建这种类型的错误函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com