产生一个能被 try...catch...finally 语句处理的错误情形。
throw exception
必选的 exception 参数可以是任何表达式。
下面的例子根据传递进来的值扔出一个错误,然后举例说明那个错误是如何在 try...catch...finally语句的层次中被处理的:
function TryCatchDemo(x){ try { try { if (x == 0) // 估参数的值。throw
"x equals zero"; // 扔出一个错误。 elsethrow
"x does not equal zero"; // 扔出一个不同的错误。 } catch(e) { // 在这儿处理 "x = 0" 的错误。 if (e == "x equals zero") // 检查错误能否在这儿被处理。 return(e + " handled locally."); // 返回对象错误信息。 else // 不能在这儿处理这个错误。throw
e; // 重新扔出该错误给下一个 } // 错误处理程序。 } catch(e) { // 在此处理其他错误。 return(e + " handled higher up."); // 返回错误信息。 } } document.write(TryCatchDemo(0)); document.write(TryCatchDemo(1));