<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title> New Document </title>
  <script language="JavaScript">
  <!--
window.onerror = function(sMessage, sUrl, sLine){
alert(sMessage + "---------" + sUrl + "-----------" + sLine);
return true;

}
alert("dd";
  //-->
  </script> </head> <body onload="noFun()">
 </body>
</html>

解决方案 »

  1.   

    alert("dd";?少个括号?还是我水平有限没见过这种写法?
      

  2.   

    回楼上的 恩 故意少个括号  就是为了测试下onerror的捕获语法
      

  3.   

    <script type="text/javascript">
    window.onerror=function(sMessage, sUrl, sLine){
            alert(sMessage + "---------" + sUrl + "-----------" + sLine);
            return true;
    }
    </script>
    <script language="JavaScript">
      <!--
        alert("dd";
      //-->
      </script>
      

  4.   

    我也不清楚
    可能是结构错误会导致整个script都没执行成功(估计而已)像这种就没问题
    <script type="text/javascript">
    window.onerror=function(s){
            alert(s);
    }aa;
    </script>
      

  5.   


    你要捕捉错误,首先你得使这个捕抓所在的JS能顺利执行完,才能捕抓到别的错误啊
    <script language="JavaScript"> 
      <!-- 
    window.onerror = function(sMessage, sUrl, sLine){ 
    alert(sMessage + "---------" + sUrl + "-----------" + sLine); 
    return true; } 
    alert("dd"; //你的这个执行到这里就出错了,没办法继续使这个JS正常运行
      //--> 
      </script> 但是就如cloudgamer 写的,他分开写了,第一个能正常运行了可以捕抓其他JS的异常了
      

  6.   

    aa;这个定义后是可以这么用的,属于正常的结构
    不会导致本JS的正常运行;如果没有定义到了最后会捕抓到的
    但是alert("dd";
    这种本身的结构就不对,无法使本JS正常运行
      

  7.   

    <script type="text/javascript">
    alert(1);alert("dd";
    </script>像这样alert(1)也没出来
    估计js在执行之前已经检测到script结构有问题就已经报错
    所以根本没执行这个script
      

  8.   

    估计没错的话
    js在执行script之前会检测一遍结构有没有问题才会执行
    不过未得到证实
    还是问问高手吧