Los últimos tutoriales de desarrollo web
 

JavaScript try / catch / finally

<JavaScript Declaraciones de referencia

Ejemplo

En este ejemplo, hemos hecho un error en el código (en el bloque try).

El ejemplo se supone que debe alertar "Welcome guest!" , Pero alerta está mal escrito.

El bloque catch detecta el error, y ejecuta un código para manejarlo:

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
Inténtalo tú mismo "

Más "Try it Yourself" ejemplos a continuación.


Definición y Uso

El try / catch / finally maneja todos o algunos de los errores que pueden ocurrir en un bloque de código, al tiempo que ejecutan código.

Los errores pueden ser los errores cometidos por el programador, errores debidos a la entrada equivocada, y otras cosas imprevisibles codificación.

La sentencia try le permite definir un bloque de código para hacerse la prueba de errores mientras está siendo ejecutado.

La sentencia catch le permite definir un bloque de código que se ejecutará, si se produce un error en el bloque try.

La sentencia finally le permite ejecutar código, después de tratar de atrapar, independientemente del resultado.

Nota: La captura y, finalmente, las declaraciones son opcionales, pero hay que usar uno de ellos (if not both) durante el uso de la instrucción try.

Consejo: Cuando se produce un error, JavaScript normalmente parar, y generar un mensaje de error. Utilice el tiro instrucción para crear un error personalizado (throw an exception) . Si utiliza tirar junto con tratar de atrapar, se puede controlar el flujo del programa y generar mensajes de error personalizados.

Para obtener más información acerca de los errores de JavaScript, leer JavaScript Errores Tutorial.


Soporte del navegador

Declaración
try/catch/finally

Sintaxis

try {
    tryCode - Block of code to try
}
catch( err ) {
    catchCode - Block of code to handle errors
}
finally {
    finallyCode - Block of code to be executed regardless of the try / catch result
}

Los valores de los parámetros

Parámetro Descripción
tryCode Necesario. Bloque de código a ensayar de errores mientras está siendo ejecutado
err Se requiere si se utiliza con la captura. Especifica una variable local que se refiere al error. La variable puede referirse al objeto Error (contiene información sobre el error producido, al igual que el mensaje " 'addlert' no está definido"). Si la excepción fue creado por la sentencia throw, la variable se refiere al objeto especificado en la instrucción throw (ver "Más ejemplos")
catchCode Opcional. Bloque de código que se ejecutará, si se produce un error en el bloque try. Si no ocurre ningún error, este bloque de código nunca se ejecuta
finallyCode Opcional. Bloque de código que se ejecuta independientemente del resultado try / catch

Detalles técnicos

Versión de JavaScript: 1.4

Ejemplos

Más ejemplos

Ejemplo

Este ejemplo examina de entrada. Si el valor es incorrecto, una excepción (err) es lanzada.

La excepción (err) es capturado por la declaración de capturas y se muestra un mensaje de error personalizado:

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is Empty";
        if(isNaN(x)) throw "not a number";
        if(x > 10) throw "too high";
        if(x < 5) throw "too low";
    }
    catch(err) {
        message.innerHTML = "Input " + err;
    }
}
</script>

</body>
</html>
Inténtalo tú mismo "

Ejemplo

La sentencia finally le permite ejecutar código, después de tratar de atrapar, independientemente del resultado:

function myFunction()
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "Empty";
        if(isNaN(x)) throw "Not a number";
        if(x > 10) throw "Too high";
        if(x < 5) throw "Too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
Inténtalo tú mismo "

Páginas relacionadas

JavaScript Tutorial: Errores de JavaScript

Referencia de JavaScript: JavaScript sentencia throw


<JavaScript Declaraciones de referencia