当前位置: 首页 > 知识库问答 >
问题:

Javascript错误消息、自定义对象表示

姜俊友
2023-03-14

javascript中是否有方法使运行时在错误消息中使用不同的对象表示。

典型的错误消息

未捕获类型错误:对象[Object Object]没有方法“toggle”

如果我们可以为对象提供比[ject Object]更好的表示,那将很有帮助。在其他语言中,您可以通过覆盖toString()使其打印更好的对象表示。

然而,在这种情况下,重写toString似乎没有效果。

共有3个答案

扈运浩
2023-03-14

这是对象的一个限制。原型toString方法,这似乎是在这些类型错误中创建[object]符号的原因。尽管您可以覆盖对象全局的toString原型,但被覆盖的原型并不是最终被TypeErrors等本机代码调用的原型。

以下是对为什么选择该特定符号的更多解释,以及为什么它不能被覆盖。实际上,这种错误消息格式更多的是Javascript编译器和/或实现的一部分,而不是Javascript本身的一部分!

东郭展
2023-03-14

该消息依赖于浏览器。除了切换到chrome之外,无需进行任何更改,您就会收到一条更好的消息,报告您正在使用的对象的类型。

岳晟
2023-03-14

我会用试试。。。捕捉并抛出自己的错误消息

var obj = {
  name: 'obj',
  fn: function () {
    return 'hallo';
  }
}


function hasMethod(obj, fn) {
    try {
        if (!obj[fn]) {
            var err = obj.name + ' does not have a method ' + fn;
            throw new Error(err)
        }
    } catch (e) {
        console.log(e)
    }
}

hasMethod(obj, 'moose'); // obj does not have a method moose

不停摆弄

 类似资料:
  • 安全测试人员声称,我应该清理返回的JSON(即转义这些符号),因为这可能会给旧的浏览器带来一些问题(即在浏览器中执行此JS代码)。 但是生成错误消息的是SpringBoot框架, 我在这里没有太多的控制权。 当然,我可以将参数定义为String,并自己进行验证,但我怀疑这是否是正确的方法。我的参数定义为Integer,我希望它保持这种方式。 做这件事最简单的方法是什么?

  • 如何在wordpress忍者表单插件中显示自定义错误消息。我已经搜索了忍者表格文件,但无法到达网站。默认情况下,错误消息显示为 我希望它是 提前道谢。

  • 我使用的是关于这个链接的教程: http://www.mkyong.com/spring-security/display-custom-error-message-in-spring-security/ 在登录表单上显示一个自定义错误消息,我在开始时就得到了它。但是在为自定义失败身份验证器处理程序声明authentication-failure-handler-ref=“myautherrorh

  • 问题内容: 我不时使用量角器1.7中引入的“预期条件”功能。 用例 : 页面对象在哪里。 如果在10秒钟内不可见,将引发错误: 这不是很可读,需要一些时间来理解和一些研究。 题: 是否可以自定义这种等待超时错误? 问题答案: 我相信有3个参数:条件,可选的超时和可选的描述消息。(我很确定这是文档:http : //angular.github.io/protractor/#/api? view=

  • 我有自定义的消息onbeforeunload事件和工作良好,但我注意到今天它不再显示我的消息。相反,它显示“可能不会保存您所做的更改” 谁能告诉我如何修理它吗?

  • 问题内容: 我可以看到使用表单时如何向字段添加错误消息,但是模型表单呢? 这是我的测试模型: 我的模型表格: 在字段中的错误信息:和是: 这是必填栏 如何以模型形式进行更改? 问题答案: 对于简单的情况,你可以指定自定义错误消息