首页 > 编程 > JavaScript > 正文

,浅谈JavaScript异常处理语句

2019-11-02 14:21:25
字体:
来源:转载
供稿:网友

  考虑到 JS 中的错误可比服务器端的代码产生的错误要多得多,并且还难以发现及修正,所以 JS 代码必须有异常处理以及全局一场处理。

  程序运行过程中难免会出错,出错后的运行结果往往是不正确的,因此运行时出错的程序通常被强制中止。运行时的错误统称为异常,为了能在错误发生时得到一个处理的机会,JavaScript提供了异常处理语句。包含try-catch、try-catch-finally和throw.

  try-catch语句

  ?

1 2 3 4 5 6 try{ tryStatements } catch(exception){ catchStatements }

  参数说明:

  tryStatements:必选项。可能发生错误的语句序列。

  exception:必选项。任何变量名,用于引用错误发生时的错误对象。

  catchStatements:可选项。错误处理语句,用于处理tryStatements中发生的错误。

  编码时通常将可能发生错误的语句写入try块的花括号中,并在其后的catch块中处理错误。错误信息包含在一个错误对象(Error对象)里,通过exception的引用可以访问该对象。根据错误对象中的错误信息以确定如果处理。

  ?

1 2 3 4 5 6 7 8 <script type="text/javascript"> try{ var n = error; //人为引发一个错误,error未定义就使用 } catch(e){ alert((e.number&0xFFFF) + "号错误:" + e.description); //错误处理:仅输出错误信息 } </script>

  该代码段使用了一个try-catch结构处理程序运行时错误,第4行人为引发一个错误。第6~9行的catch块捕捉错误并处理。

  提示:JavaScript的错误为运行时错误和语法错误,语法错误在编译阶段发现;而运行时错误在运行过程中发现,错误处理语句仅能处理运行时错误。

  try-catch-finally语句

  ?

1 2 3 4 5 6 7 8 9 try{ tryStatements; } catch( exception ){ handleStatements; } finally{ fianllyStatements; }

  参数说明:

  tryStatements:必选项,可能引发异常的语句。

  handleStatements:可选项,异常处理语句。

  fianllyStatements:可选项,在其他过程执行结束后无条件执行的语句。

  尽管没有错误发生finally块中的语句也会在最后得到执行,通常在此放置资源清理的程序代码。

  遍历一个有苹果名称的数组时人为引发一个异常。

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <script type="text/javascript"> try{ var fruit = new Array("鸭梨","苹果","葡萄","李子");   for( n=0;n<fruit.length;m++) { document.write(fruit[n] + ""); } } catch( e ) { alert( (e.number&0xFFFF) + "号错误:" + e.description ); } finally{ fruit = null; alert("fruit="+fruit+"已经断开fruit数组的引用!"); } </script>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表