JavaScript错误/异常处理

时间:2021-08-29 04:08:57

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="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 onerror 事件

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

       chrome、opera、safari 浏览器不支持

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

       如果需要利用 onerror 事件,就必须创建一个处理错误的函数。你可以把这个函数叫作 onerror 事件处理器 (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="View message" onclick="message()" />
</body>

</html>