JavaScript错误throw、try、catch

try:语句测试代码的错误;

catch:语句处理错误;

throw:语句创建自定义错误;

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

JavaScript错误

当JavaScript引擎执行JavaScript代码时,会发生各种错误。

可能是语法错误,通常是程序员造成的编码错误和错别字。

可能是拼写错误或语言缺少的功能(浏览器差异)。

可能是服务器或用户错误输出导致的错误。

JavaScript抛出错误

当错误发生时,JavaScript引擎通常会停止,并生成一个错误信息。

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

JavaScript try和catch

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

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

JavaScript中的try和catch语句时成对存在的。

语法:

1 try{
2     ... //抛出异常
3 }catch(e){
4     ... //异常的捕获与处理
5 }finally{
6     ... //结束处理
7 }

实例:

我们在try代码块中写错了一个字符,catch块会捕捉try代码块中的错误,并处理它。

1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>JavaScript 错误 throw、try和catch</title>
 6     </head>
 7     <p>
 8         try语句测试代码的错误<br>
 9         catch语句处理错误<br>
10     </p>
11     <p>
12         语法:
13         try{
14             ... //抛出异常
15         }catch(e){
16             ... //异常的捕获与处理
17         }finally{
18             ... //结束处理
19         }
20 
21     </p>
22     <script>
23         var txt="";
24         function message(){
25             try{
26                 addlert("Welcome...")
27             }
28             catch(err){
29                 txt="本页有一个错误..."+"\n\n";
30                 txt+="错误描述"+err.message+"\n\n";
31                 txt+="点击确定继续"+"\n\n";
32                 alert(txt);
33             }
34 
35         }
36     </script>
37     <body>
38         <input type="button" value="查看消息" onclick="message()">
39     </body>
40 </html>

finally语句

finally语句不管之前try和catch语句是否异常都会执行

1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>javascript finally 语句</title>
 6     </head>
 7     <body>
 8         <p>不管输入是否正确,输入框都会在输入后清空。</p>
 9         <p>请输入5~10之间的数字。</p>
10         <input type="text" id="demo">
11         <button type="button" onclick="myFunction()">点我</button>
12         <p id="p01"></p>
13         <script>
14             function myFunction(){
15                 // 创建两个变量
16                 var x, message
17                 // message 从p01获取
18                 message = document.getElementById("p01");
19                 message.innerHTML="";
20                 x = document.getElementById("demo").value;
21                 try{
22                     if(x=="") throw "值是空的。。。"
23                     if(isNaN(x)) throw "不是一个数字。"
24                     if(x<5) throw "值太小。。。"
25                     if(x>10) throw "值太大。。。"
26                 }
27                 catch(err){
28                     message.innerHTML="错误:"+err;
29                 }
30                 finally{
31                     document.getElementById("demo").value
32                 }
33             }
34         </script>
35     </body>
36 </html>

throw语句

throw语句允许我们创建自定义错误