Ver Mensaje Individual
  #5  
Antiguo 13-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 23
AzidRain Va camino a la fama
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...
Código Delphi [-]
 Miventana := TForm.Create(nil);
 Try
   MiVentana.ShowModal;
  //..Hacemos algo con MiVentana
  //.
  //.
 finally
   MiVentana.Free;  //Si ocurriera un error en el codigo entre "try" y "finally"
 end;                    // Miventana siempre se destruye correctamente

para dejar las cosas como las encontramos...
Código Delphi [-]
//Vamos a ejecutar un proceso que tarda un poco
 Screen.cursor:=crHourglass;  // Ponemos el relojito...
 Try
  //..Hacemos algo que tarde mucho y pueda fallar
  //.
  //.
 finally
  Screen.Cursor := crArrow; // Si ocurrio un error de todos modos 
  end;                             //  dejamos el cursor nuevamente como estaba

Ejemplo anterior pero tratando la excepcion
Código Delphi [-]
//Vamos a ejecutar un proceso que tarda un poco
 Screen.cursor:=crHourglass;  // Ponemos el relojito...
 Try
  Try
    //..Hacemos algo que tarde mucho y pueda fallar
    //.
    //.
  except
    //Corregimos el error o informamos que no se pudo corregir
  end;

 finally
  Screen.Cursor := crArrow; // Si ocurrio un error de todos modos 
  end;                             //  dejamos el cursor nuevamente como estaba
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita