Declaración try/catch/finally en JavaScript
- Página anterior throw
- Página siguiente var
- Volver a la capa superior Manual de referencia de instrucciones de JavaScript
Definición y uso
La declaración try/catch/finally maneja errores que pueden ocurrir en parte o en su totalidad en un bloque de código, mientras que el código sigue ejecutándose.
Los errores pueden ser causados por errores de codificación del programador, errores de entrada incorrectos y otras situaciones imprevistas.
La declaración try permite definir un bloque de código que se debe probar en tiempo de ejecución para detectar errores.
Si ocurre un error en el bloque try, la declaración catch permite definir el bloque de código a ejecutar.
La declaración finally permite ejecutar código después de try y catch, sin importar el resultado.
Nota:Las declaraciones catch y finally son opcionales, pero se debe usar una de ellas (o ambas) cuando se utiliza la declaración try.
Consejo:Cuando ocurre un error, JavaScript generalmente se detiene y genera un mensaje de error. Usa la declaración throw para crear errores personalizados (lanzar excepciones). Si se utilizan try y catch junto con throw, puedes controlar el flujo del programa y generar mensajes de error personalizados.
Para obtener más información sobre errores de JavaScript, aprende el tutorial de errores de JavaScript.
Ejemplo
En este ejemplo, cometimos un error en la escritura del código.
Este ejemplo debería mostrar "¡Bienvenido invitado!", pero hay un error en la ortografía de alert.
El bloque catch capturará el error y ejecutará el código para manejarlo:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("¡Bienvenido invitado!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
En la parte inferior de la página hay más ejemplos de TIY.
Sintaxis
try { tryCode - Bloque de código a intentar } catch(err) { catchCode - Bloque de código para manejar errores } finally { finallyCode - Bloque de código que se ejecutará independientemente del resultado de try / catch }
Valores de parámetros
Parámetros | Descripción |
---|---|
tryCode | Obligatorio. Un bloque de código que debe probar el error durante su ejecución. |
err | Obligatorio, si se utiliza junto con catch. Especifica la variable local de referencia del error. Esta variable puede referirse al objeto Error (que contiene información sobre el error que ocurrió, por ejemplo, el mensaje "'addlert' no está definido"). Si la excepción se creó con una declaración throw, esta variable se refiere al objeto especificado en la declaración throw (véase "Más ejemplos"). |
catchCode | Opcional. Un bloque de código que se debe ejecutar si ocurre un error en el bloque try. Si no ocurre un error, este código de bloque nunca se ejecutará. |
finallyCode | Opcional. Un bloque de código que se debe ejecutar independientemente del resultado de try / catch. |
Detalles técnicos
Versión de JavaScript: | ECMAScript 3 |
---|
Más ejemplos
Ejemplo
Este ejemplo verifica la entrada. Si el valor es incorrecto, lanza una excepción (err).
la declaración catch captura excepciones (err) y muestra un mensaje de error personalizado:
<!DOCTYPE html> <html> <body> <p>Ingresa un número entre 5 y 10:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Probar Entrada</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>
Ejemplo
la declaración finally te permite ejecutar código después de try y catch, sin importar el 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 = ""; } }
navegador web admite
语句 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Soporte | Soporte | Soporte | Soporte | Soporte |
Páginas relacionadas
Tutoriales de JavaScript:Errores de JavaScript
Manual de referencia de JavaScript:Sentencia throw de JavaScript
- Página anterior throw
- Página siguiente var
- Volver a la capa superior Manual de referencia de instrucciones de JavaScript