throw (Instrucción)

Actualización: noviembre 2007

Genera una condición de error que se puede controlar con una instrucción try...catch...finally.

throw [exception]

Argumentos

  • exception
    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 TryCatchDemo(x){
   try {
      try {
      if (x == 0)                            // Evalute argument.
         throw "x equals zero";              // Throw an error.
      else
         throw "x does not equal zero";      // Throw a different error.
      }
      catch(e) {                             // Handle "x=0" errors here.
         if (e == "x equals zero")           // Check for a handled error.
            return(e + " handled locally."); // Return error message.
         else                                // Can't handle error here.
            throw e;                         // Rethrow the error for next
      }                                      // error handler.
   }
   catch(e) {                                // Handle other errors here.
      return(e + " error handled higher up."); // Return error message.
   }
}
print(TryCatchDemo(0)+ "\n");
print(TryCatchDemo(1));

Requisitos

Versión 5

Vea también

Referencia

try...catch...finally (Instrucción)

Error (Objeto)