onerror事件可以控制,这个是msdn上的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>onerror Event Sample</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<META NAME="AUTHOR" CONTENT="InetSDK">
<META NAME="MS.LOCALE" CONTENT="EN-US">
<META NAME="ROBOTS" CONTENT="noindex">
<STYLE>
DIV.error {background-color: #CFCFCF; border: "1 solid"; font-size: 8pt; font-family: Arial; border-top-color: #EFEFEF; border-left-color: #EFEFEF; border-right-color: #C0C0C0; border-bottom-color: #C0C0C0;}
</STYLE><SCRIPT>
window.onerror=fnErrorTrap;
function fnInit(){}
function fnErrorTrap(msg,url,line)
{
oErrorLog.innerHTML="<b>An error was thrown and caught.</b><p>";
oErrorLog.innerHTML+="Error: " + msg + "<br>";
oErrorLog.innerHTML+="Line: " + line + "<br>";
oErrorLog.innerHTML+="URL: " + url + "<br>";
    return true;
}
function fnThrow(){
eval(oErrorCode.value);
}
</SCRIPT><!-- SAMPLE_STYLE_START -->
<LINK REL="stylesheet" HREF="../../../../../workshop/basicsdkie4.css" 
TYPE="text/css">
<!-- SAMPLE_STYLE_END -->
</HEAD>
<!--TOOLBAR_START-->
<!--TOOLBAR_EXEMPT-->
<!--TOOLBAR_END--><BODY TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="#FFFFFF" 
LINK="#000000" VLINK="#808080" ALINK="#000000">
<BLOCKQUOTE CLASS="body"><H1>onerror Event Sample</H1>
<P>
<INPUT TYPE=text ID="oErrorCode" VALUE="someObject.someProperty=true;">
<INPUT TYPE=button value="Throw Error" onclick="fnThrow()">
<P>
<DIV ID="oErrorLog" CLASS="error">
</DIV>
<!-- START_PAGE_FOOTER -->
<BR><BR><BR>
&copy; <A CLASS="clsIncCpyRt" HREF="http://msdn.microsoft.com/isapi/gomscom.asp?target=/misc/cpyright.htm" TARGET="_top">2000 Microsoft Corporation. All rights reserved. Terms of use</A>.
<!-- END_PAGE_FOOTER -->
</BLOCKQUOTE>
</BODY>
</HTML>

解决方案 »

  1.   

    try...catch...finally 语句为 JScript 实现错误处理。try {
       tryStatements}
    catch(exception){
       catchStatements}
    finally {
       finallyStatements}
    参数
    tryStatement 
    必选项。可能发生错误的语句。 
    exception 
    必选项。任何变量名。exception 的初始化值是扔出的错误的值。 
    catchStatement 
    可选项。处理在相关联的 tryStatement 中发生的错误的语句。 
    finallyStatements 
    可选项。在所有其他过程发生之后无条件执行的语句。
      

  2.   

    格式如下: 
     try 
      {
        //待捕获异常代码;
         ...
      }
     catch(e)
     {
      //出现异常处理代码
      ....
     }