(本文参===菜鸟教程====)感谢菜鸟教程的资源共享
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,然后就进入上下文执行