浅谈javascript错误处理
作者:码农下的天空
本文主要从前端开发者的角度谈一谈大多数前端开发者都会遇到的js错误,对错误产生的原因、发生阶段,以及如何应对错误进行分析、归纳和总结,希望得到一些有益的结论用来指导日常开发工作。
当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:可能是语法错误,通常是程序员造成的编码错误或错别字;可能是拼写错误或语言中缺少的功能(可能由于浏览器差异);可能是由于来自服务器或用户的错误输出而导致的错误;也可能是由于许多其他不可预知的因素。
那么js有没有好的可以检测错误的呢?有的,那就是:throw、try 和 catch
JavaScript 抛出(throw)错误
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
描述这种情况的技术术语是:JavaScript 将抛出一个错误。
JavaScript try 和 catch
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句 try 和 catch 是成对出现的。
try{ //可能会导致错误的代码 }catch(error(function() { /* Act on the event */ }); )
例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JavaScript教程</title> <script> var txt=""; function message(){ try { adddlert("Welcome guest!"); } catch(err) { txt="本页有一个错误。\n\n"; txt+="错误描述:" + err.message + "\n\n"; txt+="点击确定继续。\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="查看消息" onclick="message()" /> </body> </html>