throw 陳述式
產生一個 try...catch...finally 陳述式可處理的錯誤條件。
throw [exception]
引數
- 例外狀況
選擇項。 任何運算式。
備註
使用 throw 陳述式時可以不加上引數,除非 throw 陳述式是包含在 catch 區塊內。 若是如此,throw 陳述式會重新擲回封閉的 catch 陳述式攔截到的錯誤。 當提供引數時,throw 陳述式會產生 exception 的值。
範例
下列範例會根據傳入值擲回錯誤,然後說明如何在 try...catch...finally 陳述式的階層架構中處理該錯誤:
function ThrowDemo(x)
{
try
{
try
{
// Throw an exception that depends on the argument.
if (x == 0)
throw new Error(200, "x equals zero");
else
throw new Error(201, "x does not equal zero");
}
catch(e)
{
// Handle the exception.
switch (e.number)
{
case 200:
print (e.message + " - handled locally.");
break;
default:
// Throw the exception to a higher level.
throw e;
}
}
}
catch(e)
{
// Handle the higher-level exception.
print (e.message + " - handled higher up.");
}
}
ThrowDemo (0);
ThrowDemo (1);
// Output:
// x equals zero - handled locally.
// x does not equal zero - handled higher up.