Bienvenidos sean a este post, si bien hasta ahora hemos visto como manejar ciertos errores, ya sea mostrandolos en la consola como vimos en este post, o por medio del evento como vimos en este post pero a veces nosotros podemos tener funciones con errores que estan mas alla de todos los alcances, por ejemplo una funcion que hace un calculo y el valor ingresado esta por fuera del rango de la funcion, para este tipo de errores en muchos lenguajes se utilizan excepciones, estas nos permitan gestionar los errores de forma automatica, para crear estas excepciones utilizamos una funcion llamada throw (lanzar), con estos terminos usualmente se dice que al informar nuestros propios errores estamos lanzando una excepcion, veamos las tres funciones que se encargan de manipulas excepciones y errores en Javascript:

Anuncios
  • Throw, genera una excepcion
  • Try, indica el grupo de instrucciones que pueden generar un error
  • Catch, el grupo de instrucciones que se debe ejecutar si ocurre una excepcion

Como dijimos antes, si nosotros sabemos de una funcion donde puede ocurrir un error, podemos detectarlo arrojando una excepcion throw para luego responder a la excepcion por medio de una combinacion del bloque try/catch, veamos el siguiente ejemplo:

excepcion.html

<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<title>Excepciones</title>
	<script>
		var existencia = 5;
		function vendido(cantidad)
		{
			if (cantidad>existencia)
			{
				var error = {
					name: "ErrorExistencia",
					message: "Sin existencia"
				};
				throw error;
			} else {
				existencia -= cantidad;
			}
		}
		try
		{
			vendido(8);
		} 
		catch(error) 
		{
			console.log(error.message);
		}
	</script>
</head>
<body>
	<section>
		<h1>Sitio web</h1>
	</section>
</body>
</html>
Anuncios

Hablemos del tag SCRIPT, en este caso crearemos primero una variable llamada existencia con un valor de 5, nuestro siguiente paso sera crear una funcion llamada vendido con un argumento llamado cantidad, en esta funcion tendremos un condicional donde chequeara si cantidad es mayor a existencia, en caso de ser cierto crearemos una variable llamada error donde tendra dos propiedades: una llamada name que tendra un valor y otra llamada message que tendra otro valor, cerraremos esta variable/objeto para luego utilizar un throw para lanzar el objeto error, es decir que throw trabaja de forma similar a return, con esto terminamos la parte verdadera del condicional y luego tendremos la parte else (se trata de la parte falsa) en la cual le restaremos a existencia el valor pasado en cantidad, con la funcion terminada tendremos un bloque try/catch donde en la instruccion try llamaremos a vendido y le informaremos un valor, en la seccion de catch usaremos la excepcion del objeto error, y en este caso le diremos que muestre la propiedad de message en el objeto error que creamos en la funcion anterior, veamos la salida del programa

Como pueden ver al informar en cantidad un valor mayor a existencia en el condicional genera el objeto error y por medio de throw error tendremos los dos valores disponibles, en la salida podemos ver como nos notifico el mensaje generico que creamos nosotros, lo cual es ideal para el momento de cometer un error o entrar una condicion de error poder notificar al usuario sobre el mismo.

Anuncios

En resumen, hoy hemos visto excepciones, como son, para que se usan, cual es su utilidad principal, un ejemplo donde pusimos en practica la misma, la practicidad de poder “customizar” nuestros errores mas alla de los del lenguaje, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00