Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Cláusulas try … catch: detectar y cazar errores en Javascript


Vemos aspectos básicos sobre la utilización de las cláusulas try y catch para detectar y cazar errores javascript, sin que los errores sean tratados por defecto.


Muchos lenguajes de programación utilizan las cláusulas try … catch para cazar errores y realizar cosas cuando ocurran, por ello, lo que vamos a comentar aquí para Javascript puede resultar muy familiar a los programadores. Estas cláusulas las podemos utilizar para tratar de ejecutar una porción de código, que sabemos que podría desatar un error en tiempo de ejecución.

Cuando ocurre un error en Javascript, se hace un tratamiento determinado (mostrar el error al usuario, ya sea mediante un mensaje o la consola Javascript, o simplemente mostrar un icono y detener la ejecución de ese código). Nosotros con try … catch podemos evitar que el error se trate de manera predeterminada y que se realicen unas acciones determinadas ante el error. Además, podemos conseguir que el código se siga ejecutando sin ningún problema.

Con try especificamos una serie de sentencias Javascript que vamos a tratar de ejecutar. Con catch especificamos lo que queremos realizar si es que se ha cazado un error en el bloque try. La sintaxis de utilización es la siguiente:

try {
   //intento algo que puede producir un error
}catch(mierror){
   //hago algo cuando el error se ha detectado
}


El Bloque try se ejecuta tal cual, hasta que un posible error se ha detectado.

  • Si no se detecta un error durante la ejecución del bloque try, el catch se deja del lado y no se realiza.
  • En caso que sí se detecte un error en el bloque try, se ejecuta las sentencias que teníamos en el catch.

Si nos fijamos, podemos ver que el bloque catch recibe un dato, que en este caso hemos almacenado en la variable "mierror". Esa variable contiene información sobre el error detectado, que puede ser útil para realizar el tratamiento al error. Veamos este código:


try {
   //intento algo que puede producir un error
   funcion_que_no_existe()
}catch(mierror){
   alert("Error detectado: " + mierror.description)
}

Cuando se ejecute el try, se detectará un error, al tratar de ejecutar una función que no existe. Entonces se ejecutará la cláusula catch, mostrando el error que se ha detectado. Si nos fijamos, se muestra una descripción del error detectado mediante mierror.description.

Pero la propiedad description del error sólo existe en Internet Explorer. En Firefox, para mostrar una descripción del error lo hacemos directamente con la variable. Así:

try {
   //intento algo que puede producir un error
   funcion_que_no_existe()
}catch(mierror){
   alert("Error detectado: " + mierror)
}


Entonces, para hacer un bloque try … catch como este que funcione en los dos navegadores deberíamos hacer esto:

try {
   //intento algo que puede producir un error
   funcion_que_no_existe()
}catch(mierror){
   if (mierror.description){
      alert("Error detectado: " + mierror.description)
   }else{
      alert("Error detectado: " + mierror)
   }
}


Lanzar una excepción nosotros mismos

También, dentro de un bloque try, podemos lanzar nosotros mismos una excepción, sin que tenga por qué haberse producido un error. Esto lo hacemos con la sentencia trow.

try {
throw "miexcepcion"; //lanza una excepción
}
catch (e) {
//tratamos la excepción
alert(e);
}


Este código, válido tanto para Internet Explorer como Firefox, lanza una excepción en el bloque try. Luego, en el bloque catch, se muestra la excepción que se ha detectado.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Programación en Javascript II

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Manuales de Javascript


 Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Programación en Javascript II
Categorías
+Manuales de Javascript

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia