课程表

JS 教程

JS HTML DOM

JS 对象

JS Window

JS 库

ECMAScript 基础

ECMAScript 运算符

ECMAScript 语句

ECMAScript 函数

ECMAScript 对象

ECMAScript 继承

E4X 教程

JS 实例和总结

JS 参考手册

工具箱
速查手册

JS 错误

当前位置:免费教程 » JS/JS库/框架 » JavaScript

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

catch 语句处理错误。

throw 语句创建自定义错误。

错误一定会发生

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

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

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

可能是由于来自服务器或用户的错误输出而导致的错误。

当然,也可能是由于许多其他不可预知的因素。

JavaScript 抛出错误

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

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

JavaScript 测试和捕捉

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

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

JavaScript 语句 trycatch 是成对出现的。

语法

  1. try
  2. {
  3. //在这里运行代码
  4. }
  5. catch(err)
  6. {
  7. //在这里处理错误
  8. }

实例

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

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

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script>
  5. var txt="";
  6. function message()
  7. {
  8. try
  9. {
  10. adddlert("Welcome guest!");
  11. }
  12. catch(err)
  13. {
  14. txt="There was an error on this page.\n\n";
  15. txt+="Error description: " + err.message + "\n\n";
  16. txt+="Click OK to continue.\n\n";
  17. alert(txt);
  18. }
  19. }
  20. </script>
  21. </head>
  22.  
  23. <body>
  24. <input type="button" value="View message" onclick="message()">
  25. </body>
  26.  
  27. </html>

亲自试一试

Throw 语句

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

正确的技术术语是:创建或抛出异常(exception)。

如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。

语法

  1. throw exception

异常可以是 JavaScript 字符串、数字、逻辑值或对象。

实例

本例检测输入变量的值。如果值是错误的,会抛出一个异常(错误)。Catch 会捕捉到这个错误,并显示一段自定义的错误消息:

  1. <script>
  2. function myFunction()
  3. {
  4. try
  5. {
  6. var x=document.getElementById("demo").value;
  7. if(x=="") throw "empty";
  8. if(isNaN(x)) throw "not a number";
  9. if(x>10) throw "too high";
  10. if(x<5) throw "too low";
  11. }
  12. catch(err)
  13. {
  14. var y=document.getElementById("mess");
  15. y.innerHTML="Error: " + err + ".";
  16. }
  17. }
  18. </script>
  19.  
  20. <h1>My First JavaScript</h1>
  21. <p>Please input a number between 5 and 10:</p>
  22. <input id="demo" type="text">
  23. <button type="button" onclick="myFunction()">Test Input</button>
  24. <p id="mess"></p>

亲自试一试

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

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号