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;
finally
MiVentana.Free; end;
para dejar las cosas como las encontramos...
Código Delphi
[-]
Screen.cursor:=crHourglass; Try
finally
Screen.Cursor := crArrow; end;
Ejemplo anterior pero tratando la excepcion
Código Delphi
[-]
Screen.cursor:=crHourglass; Try
Try
except
end;
finally
Screen.Cursor := crArrow; end;