首页 > 代码库 > JavaScript错误/异常处理

JavaScript错误/异常处理

JavaScript Try...Catch 语句

    介绍:JavaScript中的try...carch语句的作用和C#中的try...catch语句的作用一样,

       都是捕获并处理异常。

    语法:

           try

            {
               //在此运行代码
            }
            catch(err)
            {
               //在此处理错误
            }
            

例子:

<html>
<head>
  <script type="text/javascript">
  var txt=""
  function message()
  {
    try
    {
      adddlert("Welcome guest!")
    }
    catch(err)
    {
      txt="There was an error on this page.\n\n"
      txt+="Click OK to continue viewing this page,\n"
      txt+="or Cancel to return to the home page.\n\n"
      if(!confirm(txt))
      {
        document.location.href="http:......."
      }
    }
   }
</script>
</head>

<body>
  <input type="button" value="http://www.mamicode.com/View message" onclick="message()" />
</body>

</html>

上面的例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来访问其他网页。

 

 

 

JavaScript Throw 声明

    介绍:throw 声明的作用是创建 exception(异常或错误)。

       throw 声明的作用是创建 exception(异常)。你可以把这个声明与 try...catch 声明配合使用,以达到控制

       程序流并产生精确错误消息的目的。

    语法:

          throw(exception)

          exception 可以是字符串、整数、逻辑值或者对象。(throw一定要小写)

例子:

<html>
<body>
  <script type="text/javascript">
    var x=prompt("请输入 0 至 10 之间的数:","")
    try
    { 
      if(x>10) 
        throw "Err1" 
      else if(x<0)
        throw "Err2"
      else if(isNaN(x))
        throw "Err3"
    } 
    catch(er)
    {
      if(er=="Err1") 
        alert("错误!该值太大!")
      if(er == "Err2") 
        alert("错误!该值太小!") 
      if(er == "Err3") 
        alert("错误!该值不是数字!") 
    }
  </script>
</body>
</html>

上面的的例子的作用是测定变量 x 的值。如果 x 的值大于 10 或者小于 0或不是数字,错误就会被抛出 (throw)。这个错误被 catch 的参数捕获后,就会显示出自定义的出错信息。

 

JavaScript one rror 事件

    介绍:使用 one rror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。

       chrome、opera、safari 浏览器不支持

       只要页面中出现脚本错误,就会产生 one rror 事件。

       如果需要利用 one rror 事件,就必须创建一个处理错误的函数。你可以把这个函数叫作 one rror 事件处理器 (onerror event handler)。这个事件处理器使用三个参

       数来调用:msg(错误消息)、url(发生错误的页面的 url)、line(发生错误的代码行)。

 

    语法: 

            onerror=handleErrfunction handleErr(msg,url,l)
           {
             //Handle the error here
             return true or false
           }

例子:

<html>
<head>
  <script type="text/javascript">
    onerror=handleErr
    var txt=""

    function handleErr(msg,url,l)
    {
      txt="There was an error on this page.\n\n"
      txt+="Error: " + msg + "\n"
      txt+="URL: " + url + "\n"
      txt+="Line: " + l + "\n\n"
      txt+="Click OK to continue.\n\n"
      alert(txt)
      return true
    }

    function message()
    {
      adddlert("Welcome guest!")
    }
  </script>
</head>

<body>
  <input type="button" value="http://www.mamicode.com/View message" onclick="message()" />
</body>

</html>

 

JavaScript错误/异常处理