尝试在javascript中捕获

时间:2010-11-17 17:37:28

标签: javascript

当我在javascript中尝试此代码时,为什么它不能捕获XMLHttpRequest上拼写错误的错误?

  try {
   var x= new XMLHdfattpRequest();
  } catch (e){
   alert(e);
  }

3 个答案:

答案 0 :(得分:1)

我已经在Firefox,IE,Chrome中运行了这些代码,他们都发现了错误,所以我认为你的意思是抓错拼写。它没有被捕获的原因是因为标准JavaScript没有像C#这样的语言进行静态验证。执行代码时,必须在周围的词法范围中检查名称XMLHdfattpRequest。如果没有找到,它将成为无法解决的参考。当您尝试新建一个无法解析的引用时,就会发生引用错误。

答案 1 :(得分:0)

在此之前你可能有一些javascript错误代码吗? 它可以打破你的浏览器解释器,永远不会运行你尝试/捕获代码。

答案 2 :(得分:0)

我已经在FF 3.5.9和IE 8中对上述内容进行了测试,它们的行为与预期一样,并且会弹出警报。打开Firebug插件的FF也会显示警报。

正如其他人所说,尝试创建一个新的XMLHdfattpRequest会给你一个ReferenceError的FF或一个TypeError在IE中肯定应该被捕获块。

似乎问题出在您的浏览器或JavaScript解释器上。它可能是愚蠢的(我为在答案中如此基本而道歉)但是你检查过JavaScript实际上是否已启用?毕竟,when you have eliminated the impossible, whatever remains, however improbable, must be the truth