throw (Instrucción)
Genera una condición de error que se puede controlar con una instrucción try...catch...finally.
throw [exception]
Argumentos
- excepción
Opcional. Cualquier expresión.
Comentarios
La instrucción throw se puede utilizar sin ningún argumento, pero sólo si está contenida en un bloque catch. En ese caso, la instrucción throw vuelve a producir el error captado por la instrucción catch contenedora. Cuando se proporciona un argumento, la instrucción throw produce el valor de exception.
Ejemplo
En el ejemplo siguiente se produce un error basado en un valor pasado y, a continuación, se muestra cómo se controla ese error en una jerarquía de instrucciones 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.