Day2-JS-JavaScript 错误 - throw、try 和 catch

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

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,然后就进入上下文执行

posted @ 2020-06-12 10:40  SCAU-gogocj  阅读(159)  评论(0编辑  收藏  举报