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:

弹跳出:

JavaScript(3):基础部分之异常处理相关推荐

  1. JavaScript - 语言基础

    JavaScript - 语言基础 一.用法 HTML 中的脚本必须位于 <script> 与 </script> 标签之间,script标签中可以写执行代码.可以写函数.也可 ...

  2. JavaScript的基础学习(一)

    文章目录 JavaScript 的基础学习(一) 1 JavaScript 概述 1.1 JavaScript 的历史 1.2 ECMAScript 1.3 JavaScript的引入方式 2 Jav ...

  3. JS:JavaScript编程语言基础语法总结

    JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...

  4. JavaScript 设计模式基础(二)

    JavaScript 设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建.而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷 ...

  5. javaScript系列 [01]-javaScript函数基础

    [01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...

  6. JavaScript的基础学习篇

    在学习JavaScript之前,我们应该先认识一下什么是脚本语言(Scripting Language)? 脚本语言就是一种简单的程序.在运行之前不需要先进行编译,所有的代码都是在客户程序中直接被执行 ...

  7. java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误

    <Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...

  8. JavaScript 语言基础知识点图示

    JavaScript 语言基础知识点图示: 转载于:https://www.cnblogs.com/mrxia/p/4059252.html

  9. JavaScript正则表达式-基础入门

    JavaScript正则表达式-基础入门 字符类,如 /w/ 为匹配任何ASCII字符组成的字符 重复, 如 /w{1,3}/ 为匹配一到三个单词 选择.分组和引用 指定匹配位置 修饰符 直接量字符 ...

  10. JavaScript 语言基础知识点总结(思维导图)

    1.JavaScript数组 2.JavaScript 函数基础 3.Javascript 运算符 4.JavaScript 流程控制 5.JavaScript 正则表达式 6.JavaScript ...

最新文章

  1. SAP中的BOPF(Business Object Processing Framework)
  2. Vuebnb:一个用vue.js和Laravel构建的全栈应用
  3. [LeetCode]*105.Construct Binary Tree from Preorder and Inorder Traversal
  4. 实战postfix邮件发送
  5. 居然之家忍“刮骨疗伤”之痛拥抱新零售
  6. 限流算法(记录cyc大佬的专栏)
  7. GWT Spring和Hibernate进入数据网格世界
  8. 从零实现一个http服务器
  9. 如何建立一个完整的游戏AI
  10. MySQL 历史版本安装和下载
  11. Entity Framework使用Sqlite时的一些配置
  12. Atitit 薪酬管理法 工作手册 员:薪酬管理办法 1.薪酬结构 所有员工的薪酬均由岗位工资、级别工资、校龄工资、特别津贴、绩效工资和季度奖金六部分组成。其中岗位工资、级别工资、校龄工资、22
  13. [Transformer]A Survey of Transformers-邱锡鹏
  14. html中复选框如何添加,Word 怎么添加复选框 怎么在word文档中插入复选框
  15. android 百度地图自定义定位小箭头图标,并随着手机方向转动
  16. 【VOLTE】【SRVCC】【2】 VOLTE SRVCC(SRVCC TO 3GPP2/CDMA1X)
  17. 打印 Java 数组的最简单方法是什么?
  18. AsyncTask下载网络文件,并显示下载进度
  19. zcmu oj 1087: 统计字符
  20. GPIO口,232串口,USB接口,485接口等接口保护电路

热门文章

  1. 黑苹果 无法运行xcode_Hackintosh (黑苹果) 折腾
  2. infer的用法_使用infer进行静态分析总结
  3. labVIEW学习笔记(二)公式节点、数组
  4. linux用shell怎么改文件名称,linux下使用shell批量修改文件名几种方法总结
  5. 7-6 逆序的三位数 (10 分)
  6. HTML5 — 知识总结篇《VI》【路径的写法】
  7. Android设备中直接通过shell操作GPIO或者上层c服务直接操作GPIO
  8. 面向对象与面向过程对比
  9. 洛谷——P1507 NASA的食物计划
  10. Javascript中call()和apply()的用法 ----1