FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Dudas con Try/Except en código
Que tal gente de este foro, el presente mensaje es para ver si me pueden despejar una duda en cuanto a un código que tengo.
El código me sirve para abrir un pequeño documento de ayuda hecho en Word (dada una ruta) y si no está en la ruta especificada me manda una pequeño mensajillo, a continuación está el codigo: En lo que quiero que me ayuden es en decirme si hicé bien en utilizar el try/except puesto que leí algo donde dice que casi nunca utilice esto. Esa es mi duda. Esperando su respuesta me despido no sin antes agradecerles el favor de su atención.
__________________
La inteligencia me persigue, pero yo soy más rápido que ella. |
#2
|
||||
|
||||
Hola Caray
Mas bien lo que yo he visto es que si se tiene que usar, y que ayuda en la ejecucion del programa, reduciendo el tiempo entre otros. Yo siempre que puedo y me acuerdo, lo uso. Saludos |
#3
|
||||
|
||||
Hola,
Lo que no queda claro es para qué utilizar el "try ... except" en este caso. Siempre puedes comprobar antes que el archivo a abrir exista realmente. La función "FileExists" puede servirte. En cuanto al tratamiento de la supuesta excepción indicas en un mensaje al usuario que el archivo no existe, pero, ¿"EOleException" significará eso realmente? Tal vez sí, no he tratado mucho con objetos "OLE", pero, ya digo, en este caso, si se trata de averiguar si un archivo existe, no veo para qué dejar que se produzca una excepción, puesto que podemos comprobar previamente si el archivo existe o no. Tal vez sea menester el bloque "try ... except", pero, por otros motivos. ¿No? |
#4
|
||||
|
||||
Yo creo que es innecesario en este caso usar el try, ya que se supone que el espíritu de las excepciones es que el programa pueda solucionar u ofrecer un alternativa de solución al problema que generó la excepción y de esta forma seguir funcionando sin caerse.
En este caso particular de nada nos sirve el mensaje ya que no soluciona nada para el usuario, es más me doy cuenta que lo usas para mostrar una ayuda al usuario abriendo word....y si el usuario no tiene Word?... tu código fallará desde la primera instrucción y ahi si no capturas la excepción por lo que en ese caso el usuario solo verá un bonito mensaje críptico. Soluciones: 1.- No uses word solo para mostrar una ayuda...Un richedit te puede servir mas o menos igual 2.- Verifica que tanto word como el archivo de ayuda esten disponibles antes de tratar de hacer nada con ellos en el código consejo: Los try son útiles y necesarios por ejemplo cuando creas objetos al vuelo para asegurarlos que si ocurre un error se destruya correctamente el objeto..también para asegurarnos que dejemos la aplicación como estaba hasta antes de que ocurriera el error. Para liberar objetos...
para dejar las cosas como las encontramos...
Ejemplo anterior pero tratando la excepcion
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#5
|
|||
|
|||
Algunas razones
Bueno compañeros gracias por las respuestas dadas, me hace mucho bien sus puntos de vista.
La verdad es que yo soy un novato en delphi leo algo cuando tengo chance, el obejtivo del código era mostrar el mensaje dado en Except si no se encontraba el archivo en la ruta dada, es decir, si la ayuda esta en el directorio C y movido pues queria mostrar este mensaje. Pero de todos modo gracias, por sus puntos de vista.
__________________
La inteligencia me persigue, pero yo soy más rápido que ella. |
#6
|
||||
|
||||
Hola a todos.
La estructura está bien y de hecho se debe de usar, con una observación personal de la linea on EOleException do ésta especifica qué tipo de excepción en particular se debe manejar. No estoy familiarizado con el uso de Word mediante OLE, pero intuyo que el origen de la excepción podría ser por ejemplo que no esté instalado el Office, la falta de memoria para abrir el archivo ya sea por tener poca RAM o tener abiertas muchas apps, que el .doc esté corrupto, que el doc se encuentre en una ubicación de la red no accesible, etc, no solamente que no exista el documento en disco, tu bloque de control de error asume que esa es la única razón. Reitero, no estoy familiarizado on el OLE, pero yo recomendaría buscar la manera de saber exactamente si el origen de la excepción es efectivamente que no exista el doc. En mi lógica de programación usaría este flujo: 1. Comprobar si está instalado Word. 2. Usar la función de Delphi FileExists para saber si existe el archivo. 3. Crear el objeto OLE y continuar normalmente.[/font] Espero que mi comentario haya sido útil.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
contraer por codigo, cxGrid (+) los nodos abiertos cerrarlos por codigo | sakuragi | OOP | 6 | 27-07-2005 18:23:07 |
de codigo VB a codigo Delphi | ingel | Impresión | 2 | 20-07-2004 14:15:44 |
Dudas con el sql | acrophet | Conexión con bases de datos | 6 | 07-10-2003 16:29:54 |
Dudas de SQL | Rubiel | SQL | 2 | 09-06-2003 16:16:50 |
Dudas de SQL | Rubiel | Conexión con bases de datos | 3 | 09-06-2003 15:53:41 |
|