gpt4 book ai didi

javascript - 是否可以防止将特定的 JavaScript 错误写入控制台?

转载 作者:行者123 更新时间:2023-11-29 18:05:39 24 4
gpt4 key购买 nike

假设 - 假设我有一些 JavaScript 来处理三个不同按钮的点击:

$("#working").click(function () {
alert("Seth Rollins is the greatest champion of all time.");
console.log("WWE World Heavyweight Champion");
});

$("#fix-this-error").click(function () {
alert(this_should_not_show_up_in_the_console);
console.log("This won't show");
});

$("#should-error").click(function () {
alert(oipewavqn2389tvb3t8ahwleuhtvab3iwuthabvlewiuweaqhaoiuhva98r3b2);
console.log("This won't show either");
});

第一个 将工作,因为它会发出一个字符串警报,并将在警报后写入的消息记录到控制台。

secondthird 函数将不起作用,因为它们试图警告 undefined variable 。他们随后的 console.logs 将不会输出任何内容。

我的问题:是否可以在保持以下属性的同时防止second 函数的错误输出到控制台?:

  • 第一个 函数应该按预期工作
  • 第二个 函数的后续 console.log 仍然应该执行
  • 第三个 函数(以及任何其他函数)仍应输出错误

编辑: 这里有一个可以玩的 fiddle - https://jsfiddle.net/5m40LLmm/2/

super 编辑:我不希望second 函数中的逻辑执行真正改变。我想要抛出错误,并且 .click() 处理程序应该在到达 console.log 之前退出,就像现在一样。我只是想防止显示错误。我不想使用 trycatch 来规避错误或在使用 alert() 之前以某种方式检查变量是否存在。我知道并且希望错误发生,我只是想阻止它的显示。我希望这能让这更清楚。

最佳答案

使用try catch

$("#fix-this-error").click(function () {
try {
alert(this_should_not_show_up_in_the_console);
console.log("This won't show");
} catch() {}
});

或检查是否 variable is defined在您尝试使用它之前。

关于javascript - 是否可以防止将特定的 JavaScript 错误写入控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31436572/

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