Y donde esta el error


Por: Raul Macias

Error

Error

Dos instrucciones que muchos programadores conocen On Error Resume Next y Try Cach y sobre las cuales me gustaría escribir algunos casos de uso y anécdotas que han generado el uso de ellas.

Como una pequeña introducción de como funcionan estas instrucciones, vasta decir que son para atrapar algún error en los códigos de programación y por medio de ellas se puede desplegar el error que ocurre en una función o un procedimiento, de esta forma se le muestra al usuario la gravedad del error y un texto con el error generado permitiendo que el programa no tenga una salida inesperada hasta el sistema operativo.

El uso de estas instrucciones también puede ser el que si se produce algún error simplemente no despliegue ningún mensaje , continué y es aquí donde este tipo de codificación puede hacer pensar que el programa hizo algo y continué su ejecución, dándole al usuario la idea de que algo que hizo pues no se hizo.

Practicas como estas generan la impresión que el programa nunca falla, dado que no regresa ningún error simplemente no hace nada, dando al usuario  un desconcierto y haciéndolo pensar en que lo que hizo a la mejor lo hizo mal, pero la culpa no es del programa puede ser del usuario que algo esta haciendo mal.

Quizá el uso de estas instrucciones de esta forma sea intencional por el programador dado que es recomendable que en todas las funciones y procedimientos siempre se agreguen previniendo cachar un error imprevisto y mostrarlo, pero en algunas ocasiones se hace su uso tan común de ponerlo siempre cuando se esta definiendo la función o procedimiento, que se llegan a quedar sin el código que despliega el error.

En otras ocasiones puede ser utilizado para simplemente prevenir y delegar el error a el proceso que lo precede y siendo este el que despliegue el mensaje.

Y que pasa cuando se dejan de forma intencional, cuando es que no por justificar su uso así pero son utilizadas, en algunos casos el tiempo de entrega de algunas aplicaciones es reducido y el tiempo para las pruebas es poco, a sabiendas que la aplicación no truena por que para el usuario ver un mensaje de error es mas caótico que simplemente no le responda el programa, esto puede generar menos estrés en la entrega de la aplicación.

Uno como usuario por lo general antes de leer un manual siempre comienzan a navegar en las aplicaciones tratando de entender que es lo que hacen a su propio entender, sin antes de recibir la capacitación, estando en la misma capacitación con la aplicación puesta, solos comenzamos a navegar y es esta otra de las razones por las cuales encontré que me dieran una justificación para dejar pasar los errores, dado que a los usuarios nuevos que les despliegan mensajes de advertencia no de validación si no por error de un proceso interno y al usuario le permite estar mas receptivo a aprender, aunque la aplicación no este haciendo lo que le corresponde.

En procesos los cuales son muy lineales en cuanto a su uso como por ejemplo, capturar A capturar B y da como resultado C, pero si el proceso se realiza primero la captura de B y luego A, quizá por no tener su proceso de validación simplemente tiene estas instrucciones no generando nada en C, este puede ser otro de los casos que me he encontrado.

En algunos casos existen algunas rutinas o procesos que fueron puestos de forma apresurada y por caprichos, los cuales a sabiendas que nunca serán utilizados de forma estresante, solamente para cubrir el capricho del proceso y realizar la entrega, es otro de las justificaciones que me encontré para el uso de estas instrucciones.

Uno mismo como programador puede caer en estas confusiones al tener librerías compiladas hechas con estas instrucciones ,al momento de estar haciendo el debuger de algún proceso que manda llamar a un procedimiento o función de dicha librería, se pueden no estar haciendo  algo esperado, generando un tiempo perdido tratando de encontrar la solución al buen funcionamiento.

Otro caso de utilizar estas instrucciones es cuando al utilizar librerías compiladas de terceros o del mismo sistema operativo las cuales no están bien documentadas y que para cualquier error que generan despliegan errores inentendibles que no dan como resultado el poder tomar una solución para su corrección y pasándole al usuario final algo que no podría entender.

De cierta forma también se presenta en códigos de procedimientos o funciones que tienen muchas lineas de código y que no están documentados, comentados y mas allá ni siquiera indentados y si alguien requiere hacerle un cambio a estos códigos puede generar que se descomponga por mas cuidado que se tenga al modificarlos y es otra de las razones por las cuales he visto que se agregan estas  instrucciones.

Con el tiempo me he topado con códigos que tienen muchos años de funcionamiento, que por dentro tienen estas instrucciones y nunca generaron un problema su existencia y cosa mas extraña al quitarlas y ponerles su respectivo mensaje de error , comienzan a generar caos y esto recae en una re programación de esas funciones y procedimientos que “estaban funcionando”.

El uso de estas practicas recae en cada programador y sus justificaciones pueden ser muchas  validas o invalidas, pero lo que es la realidad es que esto genera perdidas de tiempo e incertidumbre y en algunos casos pueden ser de éxito.

Por lo que, si no sabes por no hizo nada tu aplicación, es posible que ya estés conociendo a los amigos On Error Resume Next y Try Cach.

Por: Raul Macias

Acerca de

Algunos de los proyectos en los cuales me encuentro trabajando o en los cuales participe.

Tagged with: , , , , , , , , , ,
Publicado en Casos de Estudio

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

De Flickr
Catrina, Día de Muertos Tlaquepaque

Catrina, Día de Muertos Tlaquepaque

Catrina, Día de Muertos Tlaquepaque

Catrinas, Día de Muertos Tlaquepaque

Catrina, Día de Muertos Tlaquepaque

Más fotos

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 65 seguidores

Estadisticas
  • 90,206 hits
A %d blogueros les gusta esto: