Saltar la navegación

Captura de errores

Cuando programamos en JavaScript, como haríamos en cualquier otro lenguaje, debemos evitar los errores.

Imaginemos que tenemos una página que no tiene ningún elemento con el identificador "ejemplo".

Si nuestra página no tiene un elemento con el identifivador "ejemplo", este código fallará (se producirá un error), porque el elemento no existe ("elemento is null"):

var elemento = document.getElementById("ejemplo");
elemento.style.color = "red";

Hacer comprobaciones

Para evitar ese tipo de errores debemos hacer las comprobaciones oportunas (compruebo si el elemento existe y, si es así, hago lo que tenga que hacer):

var elemento = document.getElementById("ejemplo");
if (elemento) {
    elemento.style.color = "red";
}

Comprobar la existencia de funciones, variables...

Si queremos comprobar la existencia de una función, una variable, etc. antes de hacer uso de ella, podemos hacerlo así:

if ( typeof(laVariable) != 'undefined' ) {
    alert("La variable existe");
}

Es decir: el tipo (typeof) de un elemento que no existe es undefined (no definido).

Capturar los errores

Por último, podríamos recurrir a la captura del error (intenta hacer esto, y si no puedes, dime cuál ha sido el error):

try {
    ejecutarFuncionQueNoExiste();
} catch(e) {
    alert(e);
}

Si nos acostumbramos a gestionar todos los posibles errores obtendremos un código mucho más robusto y podremos informar al usuario, por ejemplo, de posibles carencias de su navegador: "Tu navegador es antiguo porque no tiene tal función. Lo sentimos, pero esta parte de la aplicación no funcionará correctamente, etc.".