Inicio JavaScript Técnicas de manejo de excepciones JavaScript

Técnicas de manejo de excepciones JavaScript

0 2444

Es importante saber el manejo de excepciones ó errores cuando se programa con JavaScript. Es estar un paso adelante de lo que pueda ocurrir y darle otra salida a los errores que puedan ocurrir en nuestras aplicaciones web que hacen uso de JavaScript. Veamos alguns técnicas:

Usando el bloque try…catch

El bloque try…catch en JavaScript es muy similar en uso al que implementan otros lenguajes de programación. El bloque try evalua el código y el bloque catch captura y muestra el error.

<script type="text/javascript">
window.onload = function()
{
    try
    {
        var x = 90;
        var value = x / y;
    }
    catch(err)
    {
        document.write(err.name + ": " + err.message + "<br/>");
    }
}
</script>

Resultado es el tipo y la descripción del error, en este caso: ReferenceError: y is not defined

Además también podemos usar el último bloque de la sentencia try…catch, veamos:

<script type="text/javascript">
window.onload = function()
{
    try
    {
        var x = 90;
        var value = x / y;
    }
    catch(err)
    {
        document.write(err.name + ": " + err.message + "<br/>");
    }
	finally
	{
		alert('This is finally block');
	}
}
</script>

Usando evento onerror

El evento onerror ocurrirá cada vez que hay algún error al realizar una acción en el documento.

<script type="text/javascript">
window.onload = function()
{
    var x = 90;
    var value = x / y;
}

window.onerror = function(errorMessage, fileName, lineNumber)
{
    document.write('Error: ' + errorMessage);
}
</script>

Usando jQuery

Esto es similar al uso del evento onerror pero con sintáxis jQuery.

$(window).error(
    function(errorMeaage, fileName, lineNumber)
    {
        // handle error here
    }
);

Vía Daily Coding

Programador y Desarrollador Web. Administrador de RibosoMatic y Proyecto Yupy. Blogger y entusiasta de la tecnología, internet, software y tutoriales para desarrollo de aplicaciones para la web ....