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. [错误]Caused by: org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0

    今天,在运行Spark SQL代码的时候,遇到了以下错误: Caused by: org.apache.spark.SparkException: Job aborted due to stage f ...

  2. [Spring cloud 一步步实现广告系统] 1. 业务架构分析

    什么是广告系统? 主要包含: 广告主投放广告的<广告投放系统> 媒体方(广告展示媒介-)检索广告用的<广告检索系统> 广告计费系统(按次,曝光量等等) 报表系统 Etc. 使用 ...

  3. Selenium(八):其他操作元素的方法、冻结界面、弹出对话框、开发技巧

    1. 其他操作元素的方法 之前我们对web元素做的操作主要是:选择元素,然后点击元素或者输入字符串. 还有没有其他的操作了呢?有. 比如:比如鼠标右键点击.双击.移动鼠标到某个元素.鼠标拖拽等. 这些 ...

  4. 去掉烦人的“!=null"(判空语句)

    文章首发于公众号 松花皮蛋的黑板报 作者就职于京东,在稳定性保障.敏捷开发.高级JAVA.微服务架构有深入的理解 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != nu ...

  5. IDEA中GitLab的使用

    首先安装git https://git-scm.com/downloads/ 下载对应的版本 下载好了,安装打开 Windows. 打开之后2步走,与git连接 首先选择仓库,进行git init本地 ...

  6. android 完全区分double-tap 与 singal-tap 的方法

    需求:viewpager显示图片,需要在双击时对图片进行缩放,单击时在屏幕下方弹出popwindow,由于android的双击本质就是两次单击,但是又不想在双击时触发单击时的动作,所以就在网上各种搜解 ...

  7. 通过JTAG对比内核启动后text/rodata段内容

    关键词:vmlinux.strip.dump._text.__end_rodata等等. 在日常的调试中,可能会在某些情况下踩到内核重要的数据,比如代码段或者rodata之类. 这种情况下,需要确认这 ...

  8. 迁移到MAC

    周末折腾了2天环境,主要是从windows迁移到mac上,提升逼格告别山寨,迈向专业化.首先,终于把pomelo的c客户端在xcode上跑起来了,至此已基本解决了网络连接问题.由于是第一次用mac开发 ...

  9. Java Web 学习(5) —— Spring MVC 之数据绑定

    Spring MVC 之数据绑定 数据绑定是将用户输入绑定到领域模型的一种特性. Http 请求传递的数据为 String 类型,通过数据绑定,可以将数据填充为不同类型的对象属性. 基本类型绑定 @R ...

  10. 初学Python:Python的发展历史及下载安装

    Python作为一种计算机程序设计语言,自20世纪90年代初诞生至如今被人们逐渐悉知,经过版本更新以及功能添加,已广泛应用于各种独立的.大型项目的开发.Python 已经成为最受欢迎的程序设计语言之一 ...