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 ;

如果把 throwtyrcatch 结合使用,可以控制程序流并生成自定义错误信息。

输入验证实例

<!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 错误异常的更多相关文章

  1. JavaScript错误/异常处理

    JavaScript Try...Catch 语句 介绍:JavaScript中的try...carch语句的作用和C#中的try...catch语句的作用一样, 都是捕获并处理异常. 语法: try ...

  2. 使用 Google Analytics 跟踪 JavaScript 错误

    Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...

  3. javascript错误处理与调试(转)

    JavaScript 在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑. ECMAScript 第 3 版为了解决这个问题引入了 try...catch 和 throw 语 ...

  4. JavaScript错误处理

    JavaScript 错误 - Throw.Try 和 Catch JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代 ...

  5. 第一百二十三节,JavaScript错误处理与调试

    JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...

  6. JavaScript 错误处理 Throw、Try 和 Catch

    try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. JavaScript 错误 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错 ...

  7. 【转】Javascript错误处理——try…catch

    无论我们编程多么精通,脚本错误怎是难免.可能是我们的错误造成,或异常输入,错误的服务器端响应以及无数个其他原因. 通常,当发送错误时脚本会立刻停止,打印至控制台. 但try...catch语法结构可以 ...

  8. 【转】JavaScript 错误处理与调试——“错误处理”的注意要点

    try-catch语句 该语句最适合处理那些我们无法控制的错误,在明明白白地知道自己的代码会发生错误时,再使用该语句就不太合适了. ECMA-262第3版引入了try-catch语句,基本的语法如下所 ...

  9. Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制

    Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制 1. 语法错误(ERROR)和运行期错误(Exception) 1 2. 错误类型判断 ...

随机推荐

  1. Spring Boot 2.2.2.RELEASE 版本中文参考文档

    写在前面 在我初次接触MongoDB的时候,是为了做一个监控系统和日志分析系统.当时在用Java操作MongoDB数据里的数据的时候,都是在网上查找Demo示例然后完成的功能,相信大家也同样的体会,网 ...

  2. 首个企业架构TOGAF角色扮演案例培训的诞生

    BangEA企业架构系列在不同机构做了不少TOGAF认证课,自己都觉得有点枯燥了,我在想我们IT帮2020年第一期的认证课是不是该换种授课方式呢?想到就做......TOGAF认证培训,最早主要就是讲 ...

  3. git如何合并远程2个分支

    1,先检出项目到一个文件夹git clone 2,你检出的项目默认是master,所以现在要查看远程全部分支git branch -a * master remotes/origin/HEAD -&g ...

  4. JS基础语法---总结

    JS是一门什么样的语言? 是一门解释性的语言 是一门脚本语言 是一门弱类型语言,声明变量都用var 是一门基于对象的语言 是一门动态类型的语言:            1. 代码(变量)只有执行到这个 ...

  5. Linux shell--基础指令

    Linux shell--基础指令 浏览Linux文件系统 Linux中最基础也是最必要的一条指令 cd destination cd命令可接受单个参数destination,用以指定想切换到的目录名 ...

  6. 读书笔记_python网络编程3_(2)

    2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP ...

  7. springboot入门以及配置文件

    springboot入门以及配置文件 SpringBoot是什么? Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用 ...

  8. 201871010116-祁英红《面向对象程序设计(java)》第十四周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https:/ ...

  9. VMWare ESX server安装

    和装普通虚拟机是一样的 需要添加两块网卡. F11同意协议 直接回车即可‘ 选择字符集 输入密码 按F11安装系统 按回车键重启 按F2 配置网络管理 启用两块网卡,按回车确定 配置IPV4地址 用空 ...

  10. misc-4-1

    记录一题盲水印的misc,缅怀昨天高校运维挑战赛的twocats翻车车 下载下来binwalk一下 然后在里面发现了压缩包,并找到两长一模一样的图片,还要tip.txt Although two da ...