【发布时间】:2018-07-31 09:00:51
【问题描述】:
这不是我的实际代码,而是我正在尝试执行的示例。
<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" >
现在,当我尝试在加载时直接调用脚本中的函数时,它可以完美运行并在控制台中显示一条错误消息,而没有红色标记。但是,当我尝试通过单击按钮调用它时,它在控制台中显示为红色,说明“未捕获的错误:”。
我只需要将错误消息显示为“msg 1”。
【问题讨论】:
-
您需要在事件侦听器中添加一个
try/catch块才能使其工作。 -
真正归结为了解异步执行的含义......但不确定最好的欺骗目标是什么......
-
您不需要“新错误”位,只需抛出字符串即可。
标签: javascript try-catch throw