gpt4 book ai didi

JavaScript 抛出新错误无法按要求工作

转载 作者:行者123 更新时间:2023-12-03 01:24:35 26 4
gpt4 key购买 nike

这不是我的实际代码,而是我尝试执行的示例。

<script>
try {
function x(){
throw new Error('msg 1!');
}
function y(){
throw new Error('msg 2!');
}
//x();

function call(){
x();
}

$(document).ready(function(){
var btn = document.getElementById('callbtn');
btn.addEventListener("click",function(){
call();
});
});

//call();

} catch (e) {
console.log(e);
}
</script>
<input type="button" id="callbtn" value="button" >

现在,当我尝试在加载时直接调用脚本中的函数时,它运行良好,并在控制台中显示一条错误消息,而没有红色注释。但是,当我尝试通过单击按钮调用它时,它在控制台中显示红色,指出“ Uncaught Error :”。

我只需将错误消息显示为“msg 1”。

最佳答案

三件事:

  1. try catch 的范围不合适。
  2. 如果您使用 new Error(),那么您应该使用 e.message 来获取消息。
  3. 如果您想将值获取到e,那么只需使用抛出“message”

  function x(){
throw new Error("MSG 1");
}
function y(){
throw "MSG 2";
}
//x();

function call(){
x();
}

function call1(){
y();
}

$(document).ready(function(){
var btn = document.getElementById('callbtn');
var btn1 = document.getElementById('callbtn1');
btn.addEventListener("click",function(){
try{
call();
}
catch(e){
console.log("From X...", e.message);
}
});
btn1.addEventListener("click",function(){
try{
call1();
}
catch(e){
console.log("From Y...", e);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="button" id="callbtn" value="button For X" >
<input type="button" id="callbtn1" value="button For Y" >

关于JavaScript 抛出新错误无法按要求工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51609450/

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