gpt4 book ai didi

JavaScript 异常不起作用

转载 作者:行者123 更新时间:2023-12-04 01:57:09 26 4
gpt4 key购买 nike

我试图弄清楚为什么我的代码在使用以下语句调用它之后没有抛出并显示错误消息(页面只是空白):

document.write(add(10,wrong_input));

program.js

var add = function (a,b){
if(typeof a !== 'number' || typeof b !== 'number'){
throw{
name: 'TypeError',
message: 'add needs numbers'
} catch(e){
document.writeln(e.name + ': ' + e.message);
}
}
return a + b;
}

program.html

<html>
<body>
<pre><script src="program.js"></script></pre>
<div></div>
</body>
</html>

最佳答案

throw 语句没有 catch 子句,try 有。你应该分开 throw 和接住。例如:

var add = function (a,b){
if(typeof a !== 'number' || typeof b !== 'number'){
throw{
name: 'TypeError',
message: 'add needs numbers'
}
}
return a + b;
}

try {
add('foo', 1);
} catch(ex) {
alert(ex.message);
}

请注意,我将 document.writeln 替换为 alert,因为如果它在页面加载后运行,前者将覆盖整个文档。如果您想要更好看的东西,请直接操作 DOM(通过更改某些元素的 innerHTML、附加节点等)。

关于JavaScript 异常不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15646638/

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