• JavaScript(3):基础部分之异常处理


    26.异常处理   :使用try/catch/finally

         try{

            //要执行的代码

         }

         catch(e){

           //处理异常的代码

        }

        [finally{

            //无论异常发生与否,都会执行的代码

         }

    ]

    注意:

     e   :为异常参数,是一个error对象

     error有两个常用的属性:name 【为错误类型】和 message【为错误的详细信息】,可使用e.name 和 e.message来输出信息

     共有6中错误类型:(摘自:http://web302.com/2010/08/javascript-error-object-in/

    1.EvalError //当不正确使用eval函数时,会抛出EvalError类的一个实例
    2.RangeError //当数值超出JavaScript中合法的数值范围时,会抛出RangeError类的一个实例
    3.ReferenceError //当读取一个不存在的变量的值时,会抛出ReferenceError类的一个实例
    4.SyntaxError //当JavaScript中出现语法错误时,会抛出SyntaxError类的一个实例
    5.TypeError //当JavaScript中类型不符合要求时,会抛出TypeError类的一个实例
    6.URIError //当字符串不符合编码或解码要求时,会抛出URIError类的一个实例

     

    实例:

    View Code
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>javaScript异常处理</title>
     6 <script language="javascript">
     7 {
     8   var array = null ;
     9   try{
    10      document.write(array[0]);
    11   }
    12   catch(e){
    13      alert("Error name : "+e.name);
    14      alert("Error message : "+e.message);
    15   }
    16   finally{
    17      alert("对象为null");
    18   }
    19 }
    20 </script>
    21 </head>
    22 
    23 <body>
    24 </body>
    25 </html>

    result:

    分别弹出:

    27.使用throw抛出异常

         throw value

    一般:   throw new Error(message)

                此时javascript解释器会立刻停止正常的程序执行,跳转到最近的异常处理器(是用try/catch/finally语句中的catch子句编写)

    例子:

    View Code
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>使用throw抛出异常</title>
     6 <script language="javascript">
     7 { 
     8    function sum(a,b)
     9    {
    10       if(isNaN(a)||isNaN(b))
    11          throw new Error("参数不是数字");
    12       else
    13          {
    14             a = parseInt(a);
    15             b = parseInt(b);
    16             return (a+b);
    17          }
    18    }
    19    try{
    20       sum("a","b");
    21    }
    22    catch(e){
    23       alert(e.message);
    24    }
    25 }
    26 </script>
    27 </head>
    28 
    29 <body>
    30 </body>
    31 </html>

    result:

    弹跳出:

        

  • 相关阅读:
    datatable一些用法续
    验证视图状态MAC失败
    datatable应用select方法后变成行数组的问题的解决
    [jQuery] html中两个select之间option元素的add与remove,多值上传
    [VBS] 使用vbs文件保证程序运行,并模拟键盘回车键
    [jQuery] 为table各行添加不同颜色的class
    [转]谈谈个人网站建设和经营
    [jQuery] jquery如何reset表单(form)
    兼容Firefox IE Chrome的onkeydown事件处理方法
    [bat] 使用bat文件保证指定程序运行
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2669777.html
Copyright © 2020-2023  润新知