Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   exceptions (https://www.clubdelphi.com/foros/showthread.php?t=22066)

joHn je@N 06-06-2005 08:10:11

exceptions
 
Me gustaria saber de que manera personalizo los mensajes de error que manda DELPHI por defaul al detectar un error como la conversion de una cadena a un entero etc.

Me gustaria me "echen la mano" ya que en el ejecutable no hay problema solo que los usuarios no se ubican bien de lo que pasa cuando realizan una acción.

GRACIAS por la ayuda que me puedan brindar

SALUDOS!!!

Lepe 06-06-2005 08:34:54

siempre hay varios caminos:
Código Delphi [-]
try 
  entero := strtoint('pepe esto falla fijo');
except
  ShowMessage(' No se puede convertir a entero');
  raise;
end;
Como solo hay una instrucción dentro del bloque try except, simplemente mostramos el mensaje de error.

Código Delphi [-]
try
  ...// otras instruccioens
  entero := strtoint('pepe esto falla fijo');
except
  on E:EConvertError do
  begin 
    ShowMessage('no se puede convertir');
    raise;
  end;
end;
Como hay varias instrucciones, solo capturamos la excepción de convertError. El tipo de excepción a capturar te lo dirá delphi cuando se produzca.

Solo comentar que en todos los ejemplos anteriores uso la palabra reservada raise para levantar de nuevo la excepción producida, esto abortará la ejecución normal del programa y evitará posibles errores en cascada en tu aplicación.

Código Delphi [-]
   entero := strToIntDef('pepe falla fijo',32);
Aqui simplemente eliminamos la posibilidad de que se produzca una excepción, ya que la función devuelve 32 en caso de que no poder realizar la conversión.

Si estos métodos te parecen demasiado engorrosos, quizás tengas que modificar las constantes que usa delphi para mostrar los errores, Hace tiempo vi una copia por internet, pero no estaba traducida al completo a español :(

Un saludo.

joHn je@N 06-06-2005 08:49:35

gracias
 
te lo agradesco lepe. SALUDOS!!!:p


La franja horaria es GMT +2. Ahora son las 08:24:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi