首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我的try catch错误没有出现?

为什么我的try catch错误没有出现?
EN

Stack Overflow用户
提问于 2019-01-03 03:17:41
回答 1查看 50关注 0票数 1

我使用的是JSFiddle,由于某种原因,只有当JS代码位于HTML选项卡中的标记中时,才会显示try-catch错误消息,但是当它位于单独的JS选项卡中时,try-catch错误将不会打印出来。

这将会起作用:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="p01"></p>

<script>
function myFunction() {
  var message, x;
  message = document.getElementById("p01");
  message.innerHTML = "";
  x = document.getElementById("demo").value;
  try { 
    if(x == "")  throw "empty";
    if(isNaN(x)) throw "not a number";
    x = Number(x);
    if(x < 5)  throw "too low";
    if(x > 10)   throw "too high";
  }
  catch(err) {
    message.innerHTML = "Input is " + err;
  }
}
</script>

</body>
</html>

但这不是:https://jsfiddle.net/k0rrupt3d/rqejvzoc/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 03:26:56

小提琴上的JS部分似乎是局部作用域。如果您将函数声明更改为window.myFunction = function() {以使其成为全局的,它将按预期运行。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54011979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档