{Resuelto} [vbs] Duda InputBox

Iniciado por xassiz_, 24 Septiembre 2009, 21:22 PM

0 Miembros y 2 Visitantes están viendo este tema.

xassiz_

Como podría manejar errores con InputBox?

Por ejemplo, tengo un code que si le da al boton Cancelar salta un error, o si le da a la X de cerrar lo mismo :S


Como podría evitarlo?


PD: que alguien conteste esto también!! xD



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

Los errores? .. igual que en cualquier otro code ... "on error resume next" u "on error goto", o más sencillo, verifica antes el valor que returna el inputbox, para eso tienes IF, o debo de armarte el code?  :-X

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

u.U nunca vi lo de on error resume next ni on error goto.. :-X

Y como se sabe que valor retorna una funcion? Como se comprueba? :-[



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

leogtz

Cita de: xassiz en 24 Septiembre 2009, 22:41 PM
u.U nunca vi lo de on error resume next ni on error goto.. :-X

Y como se sabe que valor retorna una funcion? Como se comprueba? :-[

Creo que asignando el InputBox a una variable.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Novlucker

Código (vb) [Seleccionar]
on error resume next

Set objfso = Createobject("Scripting.filesystemobject")
objfso.copyfile "C:\Archivo_inexistente.txt", "D:\"

If err.number <> 0 then
Msgbox err.number & vbnewline & err.description
'Mostramos datos de error
err.clear
'Limpiamos valor de error
End if


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

A ver si adivino..

Se crea una variable err o algo asi con datos sobre el error que puedes manejar agregando .+cosas ;D

A ver si doy hecho lo que quiero, gracias!  ::)

PD: hay que poner on error resume next al principio del code?



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

El "On error.." puede ir donde prefieras con eso le dices .. de aquí para abajo revisa los errores, por eso es frecuente ponerlo al principio, eso si .. puede que en ocasiones el resultado varie según este en un sitio u otro  :¬¬

http://foro.elhacker.net/scripting/script_para_obtener_las_subcarpetas_de_las_subcarpetas_de_una_carpeta-t239878.0.html;msg1152917#msg1152917

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_

OK, arreglado..

PD: y el on error goto como funciona? no vi nada de esto en tu manual xd



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE

Novlucker

Ahora que lo pienso .. cuando di la respuesta debería de estar pensando en VB XD

La única posibilidad de este último es On error goto 0, y sirve para deshabilitar la revisión de errores.

Es decir .. tu con On error resume next los activas, y con On error goto 0 lo desactivas, así puedes tener un fragmento de code entre estos dos, y solo lo que esta en medio tiene habilitado esto, lo demás no.

Pseudocódigo:
Código (vb) [Seleccionar]
codigo
mas codigo
'si da un error antes de esto, se "parte" el script

On error resume next
'a partir de aqui, cualquier error que surja pasalo por alto y sigue
se verifican errores
sigue a pesar de errores
On error Goto 0

'de aqui para abajo se vuelve a deshabilitar el tema de los errores
'si hay un error el script se "parte"
codigo
mas codigo


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

xassiz_




YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE