6 - Forzar definición de variables


Habíamos visto en el concepto anterior que las variables se creaban cuando le asignábamos un valor. Esto puede ser muy peligroso ya que podemos caer fácilmente en este error:

edad=22
...
...
response.write(ed)

Este programa no provoca error ya que cuando queremos imprimir la variable ed y el VBScript no la encuentra entre las definidas procede a crear una nueva variable.

El lenguaje VBScript nos permite indicarle que nos obligue a definir todas las variables que utilizamos en el programa. Esto se logra indicando en la primer línea el comando:

option explicit

Luego utilizamos la palabra dim seguida de las variables a definir.

Veamos un ejemplo donde definimos tres variables con los nombres de personas:

<%option explicit%>
<html>
<head>
<title>problema</title>
</head>
<body>
<%
dim nom1,nom2,nom3
nom1="ana"
nom2="carlos"
nom3="luis"
response.write(nom1)
response.write("<br>")
response.write(nom2)
response.write("<br>")
response.write(nom3)
%>
</body>
</html>

Como podemos observar la primera línea del archivo es:

<%option explicit%>

Luego todas las variables que utilizaremos debemos definirlas seguidas de la palabra clave dim:

dim nom1,nom2,nom3

La asignación de variables no sufre cambios con respecto a lo visto:

nom1="ana"

Ahora bien si en alguna parte del programa nos equivocamos y tratamos de asignarle un valor a una variable inexistente (no definida) el programa se detiene y nos informa del error:

n1="ana"

Provoca un error similar a esto:

Microsoft VBScript runtime  error '800a01f4'

Variable is undefined: 'n1'

/aspya/usuarios/190.30.94.164/pagina1.asp, line 9 

Es muy conveniente la definición de variables, nos evitan muchos problemas cuando un programa es más grande y tenemos una gran cantidad de variables. Las nuevas tecnologías de Microsoft ASP.Net obligan por defecto la definición de variables.


Retornar