前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 错误异常

JavaScript 错误异常

作者头像
Mirror王宇阳
发布2020-11-12 11:19:50
4790
发布2020-11-12 11:19:50
举报
文章被收录于专栏:Mirror的技术成长

JavaScript 错误异常

错误异常语句

  • try 语句测试代码块中的错误
  • catch 语句处理错误
  • throw 语句允许自定义错误
  • finally 语句在错误异常语句后,必须执行的代码块
代码语言:javascript
复制
try {
    adddlert("Hello") ;
} catch (err) {
    document.getElementById("demo").innerHTML = err.message ;
}
// 结果 : adddlert is not defined

JavaScript 将 adddlert 捕捉为一个错误异常,然后执行 catch 代码块来执行错误。

try … catch 语句
代码语言:javascript
复制
try {
    需要检测的代码块;
} catch {
    处理 try 检测到错误的代码块;
}
抛出异常

当发送错误是,JavaScript通常会抛出异常并产生异常错误信息(抛出异常) JavaScript实际上会创建带有两个属性的Error对象:name 和 message

throw 语句
  • throw:允许您创建自定义的错误
代码语言:javascript
复制
throw "To Bug" ;
throw 500 ;

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

输入验证实例
代码语言:javascript
复制
<!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验证
代码语言:javascript
复制
<input id = "demo" type = "number" min = "5" max = "10" step = "1" >
finally 语句
  • finally:允许在try后必须执行的代码块
代码语言:javascript
复制
try {
    try检测代码块;
} catch(error) {
    处理错误的代码块;
} finally {
    必须要执行的代码块;
}
  • 实例
代码语言:javascript
复制
<!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() 中发生的错误

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript 错误异常
    • 错误异常语句
      • Error 对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档