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类的一个实例
实例:
![](/assets/blank.gif)
![](/assets/blank.gif)
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子句编写)
例子:
![](/assets/blank.gif)
![](/assets/blank.gif)
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):基础部分之异常处理相关推荐
- JavaScript - 语言基础
JavaScript - 语言基础 一.用法 HTML 中的脚本必须位于 <script> 与 </script> 标签之间,script标签中可以写执行代码.可以写函数.也可 ...
- JavaScript的基础学习(一)
文章目录 JavaScript 的基础学习(一) 1 JavaScript 概述 1.1 JavaScript 的历史 1.2 ECMAScript 1.3 JavaScript的引入方式 2 Jav ...
- JS:JavaScript编程语言基础语法总结
JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...
- JavaScript 设计模式基础(二)
JavaScript 设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建.而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷 ...
- javaScript系列 [01]-javaScript函数基础
[01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...
- JavaScript的基础学习篇
在学习JavaScript之前,我们应该先认识一下什么是脚本语言(Scripting Language)? 脚本语言就是一种简单的程序.在运行之前不需要先进行编译,所有的代码都是在客户程序中直接被执行 ...
- java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误
<Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...
- JavaScript 语言基础知识点图示
JavaScript 语言基础知识点图示: 转载于:https://www.cnblogs.com/mrxia/p/4059252.html
- JavaScript正则表达式-基础入门
JavaScript正则表达式-基础入门 字符类,如 /w/ 为匹配任何ASCII字符组成的字符 重复, 如 /w{1,3}/ 为匹配一到三个单词 选择.分组和引用 指定匹配位置 修饰符 直接量字符 ...
- JavaScript 语言基础知识点总结(思维导图)
1.JavaScript数组 2.JavaScript 函数基础 3.Javascript 运算符 4.JavaScript 流程控制 5.JavaScript 正则表达式 6.JavaScript ...
最新文章
- SAP中的BOPF(Business Object Processing Framework)
- Vuebnb:一个用vue.js和Laravel构建的全栈应用
- [LeetCode]*105.Construct Binary Tree from Preorder and Inorder Traversal
- 实战postfix邮件发送
- 居然之家忍“刮骨疗伤”之痛拥抱新零售
- 限流算法(记录cyc大佬的专栏)
- GWT Spring和Hibernate进入数据网格世界
- 从零实现一个http服务器
- 如何建立一个完整的游戏AI
- MySQL 历史版本安装和下载
- Entity Framework使用Sqlite时的一些配置
- Atitit 薪酬管理法 工作手册 员:薪酬管理办法 1.薪酬结构 所有员工的薪酬均由岗位工资、级别工资、校龄工资、特别津贴、绩效工资和季度奖金六部分组成。其中岗位工资、级别工资、校龄工资、22
- [Transformer]A Survey of Transformers-邱锡鹏
- html中复选框如何添加,Word 怎么添加复选框 怎么在word文档中插入复选框
- android 百度地图自定义定位小箭头图标,并随着手机方向转动
- 【VOLTE】【SRVCC】【2】 VOLTE SRVCC(SRVCC TO 3GPP2/CDMA1X)
- 打印 Java 数组的最简单方法是什么?
- AsyncTask下载网络文件,并显示下载进度
- zcmu oj 1087: 统计字符
- GPIO口,232串口,USB接口,485接口等接口保护电路
热门文章
- 黑苹果 无法运行xcode_Hackintosh (黑苹果) 折腾
- infer的用法_使用infer进行静态分析总结
- labVIEW学习笔记(二)公式节点、数组
- linux用shell怎么改文件名称,linux下使用shell批量修改文件名几种方法总结
- 7-6 逆序的三位数 (10 分)
- HTML5 — 知识总结篇《VI》【路径的写法】
- Android设备中直接通过shell操作GPIO或者上层c服务直接操作GPIO
- 面向对象与面向过程对比
- 洛谷——P1507 NASA的食物计划
- Javascript中call()和apply()的用法 ----1