zoukankan      html  css  js  c++  java
  • 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:

    弹跳出:

        

  • 相关阅读:
    iis添加证书
    重谈主键和索引
    关于心跳包的方案探究
    flutter android keystore
    flutter photo_view的改造
    dart 命名规范
    dart 公共变量
    flutter 交互提示方式
    flutter container image FittedBox AspectRatio
    聊聊flutter的UI布局
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2669777.html
Copyright © 2011-2022 走看看