• 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 ;
    

    如果把 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() 中发生的错误
  • 相关阅读:
    搭建consul cluster(三节点)
    php设计模式之:装饰者模式
    php设计模式之:中介者模式
    PECL 和 PEAR
    firefox汉化(利用中文插件)
    数据结构之最小树生成(用php描述)
    php设计模式之:观察者模式
    Ubuntu安装Microsoft Windows Fonts微软字体库
    mysql事物处理
    php数字转中文
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/11079370.html
Copyright © 2020-2023  润新知