最新IBM水货笔记本价格,详细点击进入

查看完整版本: try...catch...finally 语句

风舞残阳 2008-4-1 11:21

try...catch...finally 语句

为JScript实现错误处理。
[b]try[/b][b]{[/b][i]tryStatements[/i][b]}[/b][b]catch([/b][i]exception[/i][b]){[/b][i]catchStatements[/i][b]}[/b][b]finally{[/b][i]finallyStatements[/i][b]}[/b]参数[i]tryStatement[/i]必选项。可能发生错误的语句。[i]exception[/i]必选项。任何变量名。[i]exception[/i]的初始化值是扔出的错误的值。[i]catchStatement[/i]可选项。处理在相关联的[i]tryStatement[/i]中发生的错误的语句。[i]finallyStatements[/i]可选项。在所有其他过程发生之后无条件执行的语句。说明[b]try...catch...finally[/b]语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了[wiki]程序[/wiki]员没有处理的错误,JScript只给用户提供它的普通错误[wiki]信息[/wiki],就好象没有错误处理一样。
[i]tryStatements[/i]参数包含可能发生错误的代码,而[i]catchStatement[/i]则包含处理任何发生了的错误的代码。如果在[i]tryStatements[/i]中发生了一个错误,则程序控制被传给[i]catchStatements[/i]来处理。[i]exception[/i]的初始化值是发生在[i]tryStatements[/i]中的错误的值。如果错误不发生,则不执行[i]catchStatements[/i]。
如果在与发生错误的[i]tryStatements[/i]相关联的[i]catchStatements[/i]中不能处理该错误,则使用[b]throw[/b]语句来传播、或重新扔出这个错误给更高级的错误处理程序。
在执行完[i]tryStatements[/i]中的语句,并在[i]catchStatements[/i]的所有错误处理发生之后,可无条件执行[i]finallyStatements[/i]中的语句。
请注意,即使在[b]try[/b]或[b]catch[/b]块中返回一个语句,或在[b]catch[/b]块重新扔出一个错误,仍然会执行[i]finallyStatements[/i]编码。一般将确保[i]finallyStatments[/i]的运行,除非存在未处理的错误。(例如,在[b]catch[/b]块中发生运行时错误。)。
示例下面的例子阐明了JScript特例处理是如何进行的。
try{print("Outertryrunning..");try{print("Nestedtryrunning...");throw"anerror";}catch(e){print("Nestedcatchcaught"+e);throwe+"re-thrown";}finally{print("Nestedfinallyisrunning...");}}catch(e){print("Outercatchcaught"+e);}finally{print("Outerfinallyrunning");}//WindowsScriptHost作出该修改从而得出WScript.Echo(s)functionprint(s){document.write(s);}将得出以下结果:
Outertryrunning..Nestedtryrunning...NestedcatchcaughtanerrorNestedfinallyisrunning...Outercatchcaughtanerrorre-thrownOuterfinallyrunning要求版本5
页: [1]
查看完整版本: try...catch...finally 语句