Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre los distintos tipos de errores que podremos tener a la hora de programar en VBscript, basicamente tenemos tres tipos de errores.

Anuncios

El primer error que tendremos sera el de sintaxis y este es 100% nuestro porque ocurrira siempre que escribamos mal el codigo, por ejemplo olvidarnos de cerrar unas comillas, escribir mal una funcion, no cerrar una parentesis, etc, veamos el siguiente codigo de ejemplo:

prueba.vbs

dim a,b,c

a = "Hola"
b = "Mundo"
c = a & ",  & b

wscript.echo(c)
Anuncios

En este codigo simple nos olvidamos de cerrar las comillas en la concatenacion que hacemos en c, si lo ejecutamos nos devolvera el siguiente error

Si corregimos el error anterior de la siguiente forma:

c = a & ", " & b

Y lo volvemos a probar, obtendremos la siguiente salida

Anuncios

Como se habran dado cuenta este tipo de errores son usualmente nuestros y estos ocurren con mayor frecuencia cuando no usamos una IDE (Entorno de desarrollo integrado por sus siglas en ingles), el cual se encarga de notificarnos cuando nos olvidamos un parentesis, unas comillas o algun otro tipo de falta, pasemos al siguiente tipo de error.

Anuncios

Los siguientes son los errores de ejecucion, tambien conocidos como excepciones, ya que usualmente ocurren durante la ejecucion despues que fueron interpretado (o compilado) el codigo, un ejemplo tipico es llamar a una funcion que no existe o no utilizar correctamente una funcion, vamos a tomar el ejemplo anterior y vamos a hacer la siguiente modificacion:

dim a,b,c

a = "Hola"
b = "Mundo"
c = Sumar2(a,b)

wscript.echo(c)

function Sumar(x,y)
	Sumar = x + y
end function
Anuncios

En este caso agregamos una nueva funcion llamada Sumar que recibe dos valores y devuelve la suma de los dos, nuestro siguiente modificacion sera usar a la funcion Sumar2 para asignarla a c, si lo probamos obtendremos este resultado

Como pueden ver sucedio porque llamo a una funcion que no existe, si nosotros modificamos el nombre de Sumar2 por Sumar resultaria en un codigo que funcionaria perfecto, veamos la salida

Con esta modificacion solucionamos el error, ya tenemos comentado dos tipos de errores a continuacion veremos el ultimo tipo de errores.

Anuncios

El ultimo tipo de error es el logico, y este es uno de los mas dificiles de interceptar debido a que ha diferencia de los anteriores este no genera un error sino que puede ocasionar que nuestro programa actue de forma diferente a la esperada por nosotros, por ejemplo nosotros podriamos hacer un programa que funcione correcto pero de repente dependiendo de los valores que ingresemos pueda entrar en un bucle infinito, o dividir un numero con cero, realizar una mala decision por equivocarnos en la logica del condicional, etc, por eso decimos que son mas dificiles porque en este caso el interprete del lenguaje no nos puede ayudar, pasemos a hablar sobre el objeto que nos permite manejar los errores.

Anuncios

El objeto Err es el encargado de manejar nuestros errores ya que nos permiten no solamente obtener un numero de error sino tambien una descripcion del mismo, este objeto a su vez posee algunas propiedades y meetodos, veamos algunas de las propiedades:

  • Description, devuelve una descripcion del error
  • Source, devuelve el nombre de la aplicacion u objeto que genera el error
  • Number, devuelve el codigo de error

Ahora veamos los metodos de este objeto:

  • Clear, limpia todos los atributos del objeto
  • Raise, genera un error de ejecucion
Anuncios

Para entender mejor este concepto modifiquemos el ejemplo de la siguiente manera:

ON ERROR RESUME NEXT

for a=1 to 13
	err.raise a
	msgbox "Error #" & Cstr(err.number) & " / " & err.description
	err.clear
next
Anuncios

Para este caso vamos a usar un linea que ante un error va a pasar a la siguiente linea de ejecucion como es:

ON ERROR RESUME NEXT
Anuncios

Esta nos permita manejar un error, en caso de existir alguno lo omite y pasa a la siguiente parte del codigo, despues tendremos un bucle que usaremos para que genere errores con Raise, luego nos muestre el numero de error y su descripcion, para luego limpiar el error, este bucle lo hara trece veces, veamos como es la salida con el siguiente video

En el video vemos como pasamos por distintos errores que generamos con Raise, vemos el codigo del mismo y cual es su descripcion.

Anuncios

En resumen, hoy hemos visto los errores en VBscript, cuales son los que nos pueden ocurrir, como podemos evitarlos, tambien hemos visto el objeto que puede manipular los errores, como podemos evitarlos pero a su vez como podemos manipular al mismo para ver cual es el error en cuestion, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes comprar mi libro sobre VBscript en Amazon

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00