JScript  

Instrucción try...catch…finally

Implementa el control de errores para JScript.

try {
   instruccionesTry}
catch(excepción){
   instruccionesCatch}
finally {
   instruccionesFinally}

Argumentos

instruccionesTry
Requerido. Instrucciones donde puede ocurrir un error.
excepción
Requerido. Cualquier nombre de variable. El valor inicial de excepción es el valor del error producido.
instruccionesCatch
Opcional. Instrucciones para controlar errores que ocurren en las instruccionesTry asociadas.
instruccionesFinally
Opcional. Instrucciones que se ejecutan incondicionalmente después de que se hayan procesado todos los demás errores.

Comentarios

La instrucción try...catch…finally proporciona una manera de controlar algunos o todos los errores posibles que pueden ocurrir en un bloque dado de código, mientras todavía se ejecuta el código. Si ocurren errores que el programador no controló, JScript simplemente proporciona su mensaje de error normal a un usuario, como si no hubiera control de errores.

El argumento instruccionesTry contiene código donde puede ocurrir un error, mientras instruccionesCatch contiene el código para controlar cualquier error que ocurra. Si ocurre un error en instruccionesTry, el control de programas se pasa a instruccionesCatch para su disposición. El valor inicial de excepción es el valor del error que ocurrió en instruccionesTry. Si no se produce ningún error, instruccionesCatch nunca se ejecuta.

Si el error no se puede controlar en las instruccionesCatch asociadas con instruccionesTry donde ocurrió el error, utilice la instrucción throw para propagar, o volver a producir, el error a un controlador de errores de nivel superior.

Después de ejecutar todas las instrucciones de instruccionesTry y no controlar ningún error en instruccionesCatch, se ejecutan las instrucciones de instruccionesFinally incondicionalmente.

Tenga en cuenta que el código dentro de instruccionesFinally se ejecuta incluso si ocurre una instrucción return dentro de los bloques try o catch, o si el bloque catch vuelve a lanzar el error. Se garantiza que las instruccionesFinally siempre se ejecutan, a no ser que se produzca un error no controlado, (por ejemplo, si se produce un error en tiempo de ejecución dentro del bloque catch).

Ejemplo

El siguiente ejemplo muestra cómo funciona el control de excepciones en JScript:

try {
  print("Ejecutando bloque try externo...");
  try {
    print("Ejecutando bloque try anidado...");
    throw "Mi error";
  }
  catch(e) {
    print("Bloque anidado detectó el error: " + e);
    throw e + " vuelto a lanzar";
  }
  finally {
    print("Ejecutando bloque finally anidado...");
  }   
}
catch(e) {
  print("Bloque externo detectó error: " + e);
}
finally {
  print("Ejecutando bloque finally externo");
}
// Cambie esto en Windows Script Host por WScript.Echo(s)
function print(s){
   document.write(s);
}

Esto produce la siguiente salida:

Ejecutando bloque try externo...
Ejecutando bloque try anidado...
Bloque anidado detectó el error: Mi error
Ejecutando bloque finally anidado...
Bloque externo detectó el error: Mi error vuelto a lanzar
Ejecutando bloque finally externo...

Requisitos

Versión 5

Consulte también

Instrucción throw

Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.