![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
ok, pero eso es para cargar una imagen... si despues necesitamos cargar un fichero de texto, hay que hacer algo parecido (las excepciones cambian), si vamos a crear en memoria una lista de objetos... pongamos 10, pues tambien hay que crear una rutina .... ¿ves por donde voy?
Cada operación a realizar puede involucrar fallos, intentar evitarlos todos te llevaría 4 veces más, en tiempo y presupuesto, ¿tu cliente estará de acuerdo?, en cuanto al dinero seguro que no. No queda más remedio que controlar "superficialmente" ese tipo de fallos. El usuario coge un archivo jpg, le cambia la extension a bmp (porque nuestro programa solo damos soporte a bmp) y .... ¿para eso le das un mensaje específico de ese fallo?... por dios, ese tipo sabe lo que hace; si no lo sabe y le da el error, pues le decimos que tiene que usar el paint [...] pero de ahí a controlar todos los errores que pueden dar... parece demasiado. El cliente te contrata para hacer un programa que "haga lo que él quiere" pero no pide un control exhasutivo de errores, es más.. decirle que se ha producido un error de "entrada / salida" le va a ayudar muy poco, creemé. Por otra parte los usuarios quieren programas sin tecnicismos, de lo contrario haces que parezcan ignorantes o tontos (aunque lo sean ).A veces, viendo los conocimientos que tiene nuestro cliente de informática damos más o menos información... pero el que usa el programa puede cambiar (despido de empleado, nueva contratación), ¿y si ahora tiene menos conocimientos? ¿le quitas/modificas los mensajes de error porque no lo entiende? Cita:
Código:
else
begin
ShowMessage('Error desconocido');
end;
![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 06-08-2006 a las 16:53:27. |
|
#2
|
|||||||
|
|||||||
|
Hola,
Cita:
Cita:
Cita:
Ahora, es cuestión de "perder" la costumbre de hacerlo de otro modo: hay que recordar que las excepciones no están aquí desde siempre, que antes los errores se trataban de otro modo, pero, que, también, las excepciones han venido para quedarse... quiero pensar que por algo será... porque se las ve útiles: son una mejor forma de tratar los errores que como se hacía antes, a base de "prever" posibles problemas... esto suena muy complejo... ¡prever cualquier problema! Buf... Cita:
Cita:
Cita:
Cita:
![]() Disculpad el rollazo. Admito réplicas. ![]() Última edición por dec fecha: 06-08-2006 a las 17:14:58. |
|
#3
|
||||
|
||||
|
No, no pienso contestarte a todo ni replicarte, se me haría muy largo
.Mi criterio: Al usuario, los mínimos detalles técnicos posibles, si acaso procede, un código de error, (el numerito), simple para mí y simple para el usuario. Crear tantos tipos de excepciones como haga falta en el programa, despues se muestran las que parezcan oportunas y las demás no. cualquier excepción al tiempo de realizar la facturación no se puede pasar por alto, Un Image1.LoadFromFile que despues se guarda en la base de datos, puede tratarse como antes he mencionado, revisa el código, en el except lanzo otra excepción .Todas las excepciones a un archivo .TXT (y esto es muy importante). Si hace falta, que él mismo me lo envíe por correo. Recuerdas debuguear en tiempo de ejecución... pues eso .¿Cuantas veces envías a Microsoft los fallos de Windows? ¿y de otros programas? Yo no me fío si lo que veo en pantalla es lo que se envía realmente, por eso, tomo la misma filosofía en mis programas. Yo solo expongo lo que a mi parecer es lo más adecuado, podreís estar de acuerdo o no .Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 06-08-2006 a las 23:58:00. |
|
#4
|
||||
|
||||
|
No había entrado en este hilo hasta ahora y he descubierto que está interesante.
Bueno, voy a dar mi opinión, que es un poco radical, y así se monta polémica ![]() Soy partidario de dar al usuario la información mínima, clara y sencilla sobre lo que está haciendo, sobre su trabajo. Sin embargo, sobre asuntos técnicos, problemas, errores y todo eso... prefiero ocultárselo por completo. Lo que hago es dirigir todos los mensajes de errores, excepciones, etc. a un fichero de texto (.log). En este fichero sí que guardo detallado el error producido, en qué módulo, qué se hacía en ese momento, valores de las variables implicadas, la fecha y hora, el error devuelto por el sistema, etc... Si el usuario detecta algún problema o comportamiento anómalo, éste no verá ningún mensaje de error que le asuste ni ninguna excepción que le cierre el programa, pero sí que puede ver que ha ocurrido algo extraño, por ejemplo (por decir algo): el total de una factura no es igual a la suma de las líneas de ventas que la compone. Lo que hago es mirar el fichero .log e intentar descubrir el problema según la información almacenada en el mismo. Y es que no me gusta sacar información técnica al usuario porque no la entiende ni le sirve de nada. He visto casos de personas que me han llamado llorando (no exagero) ante una pantalla con un mensaje de error y pidiendo ayuda para que su jefe no le despida.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Hola,
Cita:
¿Dónde está lo técnico ahí? Y nada te impide guardar (por otro lado) la información técnica que quieras para después poder consultarla si fuera menester. Como dices ahora: Cita:
Cita:
![]() Dices que no mostrarías al usuario mensaje de error alguno... ni ninguna excepción... que le cierre el programa... pero, un momento, ¿las excepciones no existen, entre otras cosas, para evitar el bloqueo del programa y su cierre obligatorio? Eso tengo entendido: el programa entra en estado de excepción, estas pueden controlarse y el programa puede continuar adelante (siempre que sea posible, claro está). Pero, lo que me parece curioso es que no informes al usuario del error y pretendas que él se dé cuenta de que hubo algún problema porque el total de una factura no cuadra con las cuentas que estaba haciendo el usuario... Eso me parece muy peligroso, en el sentido de que el usuario puede pulsar ENTER para cerrar la ventana que le muestra la factura y ni fijarse siquiera en el total... porque se fía del programa, que, en caso de observar algún problema le avisaría como está mandado. ![]() El caso es que si no revisara "manualmente" el resultado (¿Pero no están para eso los programas?) y cerrara la supuesta ventana y el programa no le dijera nada... pudiera estarse guardando en la base de datos (o ni guardarse siquiera) datos erróneos... ¡y el usuario aún creerá que no pasa nada, que todo va bien! Tú luego irías con tu "log" y le dirías, mira, aquí esta factura puede que no cuadre, porque resulta que un error que... "¿Qué error?", te respondería el usuario, "No, tú es que no lo viste, pero, efectivamente...", "¿Cómo que no lo ví? ¿Y qué dices? ¿Que esta factura no está bien? ¡Pero si está cursada (o como se diga) junto con las del mes pasado? ¿cómo no se me informó del problema?... ¡Llámenme al responsable de este desaguisado!" Y se oiría por ahí... ¡Casimiro, ha sido el puñetero de Casimiro! ![]() Total, pabernosmatao. ![]() Última edición por dec fecha: 07-08-2006 a las 05:17:36. |
|
#6
|
||||
|
||||
|
Al salir una excepción programada por mi, he visto como el usuario, como acto reflejo, pulsaba el botón de aceptar; me quedé alucinado, la ventana no se había terminado de dibujar y ya había pulsado Aceptar.
Su respuesta fue que "esa ventanita no era nada", estupendo... me harto de estudiar el flujo del programa ante excepciones y solo consigo mejorar los reflejos de los usuarios.... Si un coche se para, lo llevas al taller, si un programa da un fallo, "no es nada" y si se queda colgado se apaga y se enciende de nuevo.... problema resuelto .Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
||||
|
||||
|
Hola,
Según la leyenda (algo que leí hace tiempo no recuerdo en qué lugar) en el primer manual de los IBM PC (que ahora cumplen 25 años, parece ser) podía leerse lo siguiente: Cita:
¿Que se cierran las ventanas con mensajes de error informativos muchas veces sin siquiera mirarlas? Es una realidad, yo mismo reconozco que lo he hecho y que lo haré en ciertas ocasiones, y, sin embargo, no creo que eso dé pie a eliminar los mensajes de error informativos,... ¿cuántas veces no te queda más remedio que pararte un momento y leer lo que esas ventanas dicen, porque intuyes la importancia del mensaje? Otra leyenda dice que hay que tratar a los usuarios de programas de ordenador como tontos (dicho mal y pronto), porque no son informáticos, ni saben de informática (ni tienen por qué, digo yo), ni conocen los intríngulis de los programas, etc., etc., etc. Yo no estoy de acuerdo con esa opinión, como ya he dicho: prefiero tomar a los usuarios como inteligentes, lo suficiente para pensar que leerán los mensajes de error informativos y los prestarán atención. ¿A mí qué se me dá que haya usuarios tontos (todos, alguna vez, actuamos así)? Prefiero estar con los otros, con quienes sí se preocupan de esas cosas. Además, como he dicho, tal vez pases alguna vez de esas ventanas de error, pero, amigo, entonces uno pasa a ser un poco responsable del problema existente con el programa, porque el programa está diciendo, "Hey, me ocurre esto, ¿sabes? No puedo continuar, presta atención, pide ayuda, haz lo que sea, pero, que sepas que no estoy haciendo bien mi trabajo". Si no se le advierte al usuario de los mensajes de error informativos estás condenando a todos los usuarios, a todos ellos, a no poder hacer nada... me parece que es lo de siempre: pagan justos por pecadores, por decirlo así. Porque los mensajes de error informativos no están ahí por estar, ni se ponen para hacer bulto, ni nadie quisiera que aparecieran, pero, puesto que los programas no son perfectos (y los usuarios tal vez menos aún, yo me incluyo) es necesario informar de los problemas que topan, reaccionar ante estos, intentar "tratarlos" (¿mediante excepciones?), aprender de ellos, en fin, como dije por ahí arriba, pienso que esto puede ayudar al usuario del programa y a sus desarrolladores, proporcionándoles información muy útil. ¿Que alguien pasa de esa información? En parte entonces es su problema, ya aprenderá de la necesidad de hacer copias de seguridad... tal vez cuando se tarde, cuando pierda sus datos al menos una vez... Cita:
Pues muy bien, pero si el programa advierte, informa, especifica, quiere entablar un diálogo y un usuario pasa de él... luego se le podrá preguntar al usuario, ¿hiciste caso de lo que el programa te decía? "Ah, bueno, es que yo paso de los mensajes de error"... ¡que diga eso delante del jefe de turno en cualquier empresa que sepa del valor de su información digitalizada! En ese punto uno hasta podría decir, "pues son 10.000", porque de ese problema estábamos avisando, pero, si no se quiere hacer caso, como se reconoce, ¿qué quieren ustedes que hagamos?"... No sé. Yo creo que mientras jugamos casi todo vale. Pero, cuando las cosas se ponen serias... decir "yo paso de los mensajes de error"... puede resultar causa de despido por incompetencia. Última edición por dec fecha: 07-08-2006 a las 12:11:14. |
|
#8
|
|||
|
|||
|
Hombre, para que tanto alboroto por los mensajes de error, si Microsoft nos da la mejor respuesta, aqui uno que tengo en mi visor de eventos.
Cita:
Los usuarios de windows estamos tan acostumbrados a estos mensajes, de que hay un error hay un error. Asi que ya saben pongan su direccion para que les llamen o acudan a ustedes cuando tengan errores en sus aplicaciones. Saludos.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#9
|
||||
|
||||
|
Cita:
A donde quería llegar es que no sirve de nada sacarles mensajes con códigos, números ni nada que se salga del trabajo del usuario porque, simplemente, lo ignoran, como acaba de escribir Lepe, "Sí, sale un mensaje, pero lo quito y sigue funcionando".
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| verificar fichero de texto | arley_molina | Varios | 2 | 12-06-2006 21:52:40 |
| Verificar impresora | Diegoval | Impresión | 1 | 11-05-2005 07:41:23 |
| Verificar si el valor introducido en un edit1.text es un numero o una cadena | ctronx | Varios | 6 | 26-06-2004 04:14:18 |
| Como verificar si un txt existe? | danytorres | Varios | 1 | 02-12-2003 16:51:20 |
| Verificar si esta instalada una fuente | victork_py | Varios | 2 | 22-10-2003 20:23:39 |
|