產(chǎn)生一個(gè)能被 try...catch...finally 語(yǔ)句處理的錯(cuò)誤情形。
throw exception
必選的 exception 參數(shù)可以是任何表達(dá)式。
下面的例子根據(jù)傳遞進(jìn)來(lái)的值扔出一個(gè)錯(cuò)誤,然后舉例說(shuō)明那個(gè)錯(cuò)誤是如何在 try...catch...finally語(yǔ)句的層次中被處理的:
function TryCatchDemo(x){ try { try { if (x == 0) // 估參數(shù)的值。throw
"x equals zero"; // 扔出一個(gè)錯(cuò)誤。 elsethrow
"x does not equal zero"; // 扔出一個(gè)不同的錯(cuò)誤。 } catch(e) { // 在這兒處理 "x = 0" 的錯(cuò)誤。 if (e == "x equals zero") // 檢查錯(cuò)誤能否在這兒被處理。 return(e + " handled locally."); // 返回對(duì)象錯(cuò)誤信息。 else // 不能在這兒處理這個(gè)錯(cuò)誤。throw
e; // 重新扔出該錯(cuò)誤給下一個(gè) } // 錯(cuò)誤處理程序。 } catch(e) { // 在此處理其他錯(cuò)誤。 return(e + " handled higher up."); // 返回錯(cuò)誤信息。 } } document.write(TryCatchDemo(0)); document.write(TryCatchDemo(1));