javascript如何在脚本中查找错误

javascript如何在脚本中查找错误,javascript,firebug,custom-error-handling,Javascript,Firebug,Custom Error Handling,我知道这是一个有点少,以获得一个什么问题的答案,所以我问的是如何调试它 我得到以下错误(下图)。没有指定行、脚本或任何内容。此外,除了jQuery和raphaeljs库中的错误处理程序外,我没有定义任何自定义错误处理程序 对如何调试这个有什么想法吗 (例如,主脚本大约有3k行,因为我不知道错误发生在哪里,所以我不知道要发布的部分。我只需要找到一种方法。) 谢谢您的时间。试试chrome。Webkit可以提供堆栈跟踪: 样本: <script> function i2(){

我知道这是一个有点少,以获得一个什么问题的答案,所以我问的是如何调试它

我得到以下错误(下图)。没有指定行、脚本或任何内容。此外,除了jQuery和raphaeljs库中的错误处理程序外,我没有定义任何自定义错误处理程序

对如何调试这个有什么想法吗

(例如,主脚本大约有3k行,因为我不知道错误发生在哪里,所以我不知道要发布的部分。我只需要找到一种方法。)


谢谢您的时间。

试试chrome。Webkit可以提供堆栈跟踪:

样本:

<script>
    function i2(){
        throw "CustomError";
    }
    function invoke(){
        i2();
    }

</script>
<button onclick="invoke()">yo</button>

函数i2(){
抛出“自定义错误”;
}
函数调用(){
i2();
}
哟

当脚本抛出一个字符串而不是一个适当的异常时,会发生这种情况,如:

throw 'Error in protected function: )55';
有关可能的解决方案,请参见此其他SO问题:


这样的错误通常意味着您在使用这些库的代码中弄乱了一些东西(例如,您忘记添加coma,关闭括号,…)-检查您的代码,通过linenice选项换行,但有很多,当我说很多时,我指的是那里有很多脚本。。。我不能只是粘贴所有内容:)@mattI同意使用JSLint,但原因是它会以一种让错误代码看起来错误的方式清理代码。它还将有助于捕获令人讨厌的小语法错误。@h4:通常,如果我遇到语法错误,我会在firebug中得到一行。。。(警告时例外)。。。这次我一无所获。脚本也不会中断。为什么不能使用JSLint?不要因为它是一个大脚本而变得懒惰。有时候你只需要潜入水中弄脏衣服。