JavaScript 错误异常
JavaScript 错误异常
错误异常语句
- try 语句测试代码块中的错误
- catch 语句处理错误
- throw 语句允许自定义错误
- finally 语句在错误异常语句后,必须执行的代码块
try {
adddlert("Hello") ;
} catch (err) {
document.getElementById("demo").innerHTML = err.message ;
}
// 结果 : adddlert is not defined
JavaScript 将 adddlert 捕捉为一个错误异常,然后执行 catch 代码块来执行错误。
try … catch 语句
try {
需要检测的代码块;
} catch {
处理 try 检测到错误的代码块;
}
抛出异常
当发送错误是,JavaScript通常会抛出异常并产生异常错误信息(抛出异常)
JavaScript实际上会创建带有两个属性的Error对象:name 和 message
throw 语句
- throw:允许您创建自定义的错误
throw "To Bug" ;
throw 500 ;
如果把 throw 和 tyr … catch 结合使用,可以控制程序流并生成自定义错误信息。
输入验证实例
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title> javascript </title>
</head>
<body>
<div>
<input id="demo" type = "text">
<button type = "button" onclick = myFunction() >
测试
</button>
</div>
<div>
<p id = "message"></p>
</div>
<script>
function myFunction() {
var message , x ;
message = document.getElementById("message") ;
message.innerHTML = "" ;
x = document.getElementById("demo").value ;
try {
if ( x == ""){
throw "Null" ;
}
if (isNaN(x)){
throw "No is Number" ;
}
if (x < 5){
throw "小" ;
}
if (x > 10){
throw "大" ;
}
} catch (error) {
message.innerHTML = "输入值:" + error ;
}
}
</script>
</body>
</html>
代码对输入内容进行了异常错误检测,并使用throw自定义错误异常信息
- HTML验证
<input id = "demo" type = "number" min = "5" max = "10" step = "1" >
finally 语句
- finally:允许在try后必须执行的代码块
try {
try检测代码块;
} catch(error) {
处理错误的代码块;
} finally {
必须要执行的代码块;
}
- 实例
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title> javascript </title>
</head>
<body>
<div>
<input id="demo" type = "text">
<button type = "button" onclick = myFunction() >
测试
</button>
</div>
<div>
<p id = "message"></p>
</div>
<script>
function myFunction() {
var message , x ;
message = document.getElementById("message") ;
message.innerHTML = "" ;
x = document.getElementById("demo").value ;
try {
if ( x == ""){
throw "Null" ;
}
if (isNaN(x)){
throw "No is Number" ;
}
if (x < 5){
throw "小" ;
}
if (x > 10){
throw "大" ;
}
} catch (error) {
message.innerHTML = "输入值:" + error ;
} finally {
document.getElementById("demo").value = "" ;
}
}
</script>
</body>
</html>
以输入验证为实例作为依据,在38~39行加入 finally 语句,无乱try…catch 语句结果如何
Error 对象
- JavaScript拥有内置的error对象
Error对象属性
属性 | 描述 |
---|---|
name | 设置或返回错误名 |
message | 设置或返回错误信息(一条字符串) |
Error Name Values
- Error的name属性可返回六个不同的值
错误值 | 描述 |
---|---|
EvalError | 在eval()函数中发生的错误 |
RangeError | 超出数字范围的错误 |
ReferenceError | 发生非法引用的错误 |
SyntaxError | 发生语法的错误 |
TypeError | 发生类型的错误 |
URIError | 在 encodeURI() 中发生的错误 |
JavaScript 错误异常的更多相关文章
- JavaScript错误/异常处理
JavaScript Try...Catch 语句 介绍:JavaScript中的try...carch语句的作用和C#中的try...catch语句的作用一样, 都是捕获并处理异常. 语法: try ...
- 使用 Google Analytics 跟踪 JavaScript 错误
Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...
- javascript错误处理与调试(转)
JavaScript 在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑. ECMAScript 第 3 版为了解决这个问题引入了 try...catch 和 throw 语 ...
- JavaScript错误处理
JavaScript 错误 - Throw.Try 和 Catch JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代 ...
- 第一百二十三节,JavaScript错误处理与调试
JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...
- JavaScript 错误处理 Throw、Try 和 Catch
try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. JavaScript 错误 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错 ...
- 【转】Javascript错误处理——try…catch
无论我们编程多么精通,脚本错误怎是难免.可能是我们的错误造成,或异常输入,错误的服务器端响应以及无数个其他原因. 通常,当发送错误时脚本会立刻停止,打印至控制台. 但try...catch语法结构可以 ...
- 【转】JavaScript 错误处理与调试——“错误处理”的注意要点
try-catch语句 该语句最适合处理那些我们无法控制的错误,在明明白白地知道自己的代码会发生错误时,再使用该语句就不太合适了. ECMA-262第3版引入了try-catch语句,基本的语法如下所 ...
- Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制
Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制 1. 语法错误(ERROR)和运行期错误(Exception) 1 2. 错误类型判断 ...
随机推荐
- 01-Java类加载机制详解
类的加载过程 在使用java命令运行主类(main)的时候,首先要通过类加载器将类加载到JVM内存中去.主类在运行过程中如果用到其他的类就会逐步加载这些类.jar包里的类并不是一次性加载的,是使用的时 ...
- ASP.NET Core 2.2 WebApi 系列【六】泛型仓储模式
为什么要使用泛型仓储?好处是? 前两章在autofac注入的时候,用的User类作为例子,写了增删改查四个接口,也就是仓储的GRUD. 当我们再添加一个实体(比如Student)时,StudentRe ...
- SSM框架之Spring(2)IOC及依赖注入
Spring(2)IOC及依赖注入 基于xml配置文件的实现 1.IOC (控制反转-Inversion Of Control) 控制反转(Inversion of Control,缩写为IoC),是 ...
- 调试Android Framework的Java部分代码
DebugAndroidFramework 说明:调试Android Framework的Java部分代码,以调试源码android-28为例,需要一个API 28的模拟器配合使用. 一.下载源码 下 ...
- LeetCode刷题191120
博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 算法: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位 ...
- LInux:服务的管理-systemctl
使用systemctl管理服务 服务的启动与停止 服务的启动与停止 命令格式:systemctl 选项 服务名 选项说明: start:启动;stop:停止:restart:重启:status:服务状 ...
- 跑健壮性Monkey,出现一次Crash全过程-日志分析-董浩-Dotest
最近带着学生做的某个项目,跑健壮性Monkey,出现一次Crash全过程-日志分析: 准备:搭建adb环境.安装实际测试包:开始: Monkey命令: 1 2 3 4 5 adb shell monk ...
- QT新建空白项目-添加QT设计师界面类时出现的各种库无法导入识别
按照教材上先新建一个空的项目--添加Qt设计师界面类时 出现各种 库无法识别 解决方法: 在 .pro文件中加入一行 QT += widgets 去构建中先执行 qmake 然后再构建一下 ok了 ...
- STL pair类型的介绍
pair标准库类型它定义在头文件utility中. 一个pair保存两个数据成员.类似容器,pair是一个用来生成特定类型的模板.当创建一个pair时,我们必须提供两个类型名,pair的数据成员将具有 ...
- golang数据结构之插入排序
//InsertSort 插入排序 func InsertSort(arr *[]int) { ; i < len(arr); i++ { insertVal := (*arr)[i] inse ...