当我在javascript中尝试此代码时,为什么它不能捕获XMLHttpRequest
上拼写错误的错误?
try {
var x= new XMLHdfattpRequest();
} catch (e){
alert(e);
}
答案 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。