• Day2-JS-JavaScript 错误


    (本文参===菜鸟教程====)感谢菜鸟教程的资源共享

    try 语句测试代码块的错误。

    catch 语句处理错误。

    throw 语句创建自定义错误。

    finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行

    一、JavaScript 抛出(throw)错误

    当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。

    描述这种情况的技术术语是:JavaScript 将抛出一个错误

    二、JavaScript try 和 catch

    try 语句允许我们定义在执行时进行错误测试的代码块。

    catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

    JavaScript 语句 try 和 catch 是成对出现的

    三、实例:

        在下面的例子中,我们故意在 try 块的代码中写了一个错字。

        catch 块会捕捉到 try 块中的错误,并执行代码来处理它

        ①效果:(在有错误的时候) 

                                                  

          把错误修改了之后: 

                                                             

     四、finally 语句

          finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块

    try-catch-finally综合实例

    通过x获得输入的数字,然后进行判断,通过message对结果进行展示的

    <body>
        <p>不管输入是否正确,输入框都会再输入后清空。</p>
    <p>请输入 5 ~ 10 之间的数字:</p>
        <input type="text" id="demo">
        <button type="button" onclick="myFunction()">点我</button>
    
        <p id="p01"></p>
    
        <script>
            function myFunction(){
                var message,x;
                message = document.getElementById("p01");
                message.innerHTML="";
                x=document.getElementById("demo").value;
                try{
                    if(x=="") throw "值是空的";
                    if(isNaN(x)) throw "值不是一个数字";
                    x=Number(x);
                    if(x>10) throw "太大";
                    if(x<5) throw "太小";
                }
                catch(err){
                    message.innerHTML="错误:"+err+".";
                }
                finally{
                    document.getElementById("demo").value = "";
                }
            }
        </script>
    </body>

    ====请注意,如果 getElementById 函数出错,上面的例子也会抛出一个错误

    小知识点:①对js的代码进行调试的时候

          1、console。log(F12--Console)

          2、对代码设置断点

          3、debugger关键字(debugger 关键字用于停止执行 JavaScript,并调用调试函数、这个关键字与在调试工具中设置断点的效果是一样的)

         ②JS变量提升

          1、变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部

                ==但是JavaScript 只有声明的变量会提升,初始化的不会

         ③理解 js 的解析机制

            ==遇到 script 标签的话 js 就进行预解析,将变量 var 和 function 声明提升,但不会执行 function,然后就进入上下文执行

  • 相关阅读:
    Xcode界面切换动画效果
    Objective—C中的排序及Compare陷阱
    串行口应用
    在windows上搭建C语言开发环境——借助eclipse和MinGW
    Leetcode--Two Sum
    C++语言笔记系列之十六——赋值兼容规则&amp;多继承的二义性
    在Powerdesigner中创建概念数据模型
    数据模型
    数据描述的三个领域
    开启PowerDesigner15工具栏上的被禁用掉的图标
  • 原文地址:https://www.cnblogs.com/SCAU-gogocj/p/13098047.html
Copyright © 2020-2023  润新知