公告:本站提供编程开发方面的技术交流与分享,打造最佳教程网,希望能为您排忧解难!

JS教程

try...catch 语句

更新时间:2013-05-03 23:48:11 |

为 JScript 实现错误处理。

try{
   tryStatements}
catch(exception){
   catchStatements}
finally {
 finallyStatements}

参数

tryStatement

必选项。可能发生错误的语句。

exception

可选项。任何变量名。exception的初始化值是扔出的错误的值。

catchStatement

可选项。处理在相关联的tryStatement中发生的错误的语句。

finallyStatements

可选项。在所有其他过程发生之后无条件执行的语句。

说明

try...catch...finally语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JScript 只给用户提供它的普通错误消息,就好象没有错误处理一样。

tryStatements参数包含可能发生错误的代码,而catchStatement则包含处理任何发生了的错误的代码。如果在tryStatements中发生了一个错误,则程序控制被传给catchStatements来处理。exception的初始化值是发生在tryStatements中的错误的值。如果错误不发生,则不执行catchStatements

如果在与发生错误的tryStatements相关联的catchStatements中不能处理该错误,则使用throw语句来传播、或重新扔出这个错误给更高级的错误处理程序。

在执行完tryStatements中的语句,并在catchStatements的所有错误处理发生之后,可无条件执行finallyStatements中的语句。

请注意,即使在trycatch块中返回一个语句,或在catch块重新扔出一个错误,仍然会执行finallyStatements编码。 一般将确保finallyStatments的运行,除非存在未处理的错误。(例如,在catch块中发生运行时错误。)。

示例

下面的例子阐明了JScript 特例处理是如何进行的。

 try {

2  print("Outer try running..");

  try {

4    print("Nested try running...");

5    throw "an error";

6  }

  catch(e) {

8    print("Nested catch caught " + e);

9    throw e + " re-thrown";

10  }

  finally {

12    print("Nested finally is running...");

13  }

14}

catch(e) {

16  print("Outer catch caught " + e);

17}

finally {

19  print("Outer finally running");

20}

21// Windows Script Host 作出该修改从而得出 WScript.Echo(s)

function print(s){

23   document.write(s);

24}

将得出以下结果:

1 Outer try running..

2Nested try running...

3Nested catch caught an error

4Nested finally is running...

5Outer catch caught an error re-thrown

6Outer finally running

请参阅

throw 语句

最佳教程网

最大的技术交流平台 www.goodxyx.com© CopyRight 2011-2013, All Rights Reserved

浙ICP备11033019号