在哪里举报Javascript错误?

时间:2015-11-02 17:06:22

标签: javascript

想象一下:你想用一个方法中收到的XML元素做一些事情。所以你试试这个:

function makeNiceThings(XMLDOM){
    if(XMLDOM.getElementsByTagName("err")){
        makeReallyNiceThings(XMLDOM.getElementsByTagName("err")[0].childNodes[0].nodeValue);
    }
}

因此,Javascript会告诉您,您尝试从空引用中调用childNodes[0]。但如果你尝试:

  function makeNiceThings(XMLDOM){
        if(XMLDOM.getElementsByTagName("err")[0]){
            makeReallyNiceThings(XMLDOM.getElementsByTagName("err")[0].childNodes[0].nodeValue);
        }
    }

它完美无缺。

但是,您有时会更新页面,并且两者都在重新运行,完全没有问题。

我已经面对很多像这样的情况,我真的想知道是否有一个地方我可以展示这些奇怪的错误,以使javascript更好。谷歌只给我发现了程序员错误的地方。想法?

1 个答案:

答案 0 :(得分:5)

好吧,我在那里看不到问题。在第一个示例中,您可能会得到空数组。所以条件成真。而在第二个例子中,你做了你真正想要做的事情 - 检查是否有一个索引为0的元素 或者,如果你确信这不是你的错,你应该做Rocket Hazmat所说的:

  

使用JavaScript本身的错误应该报告给bug跟踪器   浏览器。虽然,这可能不是JavaScript的错误。

但很可能这是代码中的错误。如果没有err元素,您将获得空数组,条件将评估为true;但是没有第0个元素 - 这就是你获得一个例外的原因 希望很清楚。