Ver Mensaje Individual
  #1  
Antiguo 15-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Intentarlo excepto si podemos evitarlo

Acabo de leer un mensaje de kinobi en el hilo curiosidad de FieldbyName en donde dice:

Cita:
Escrito originalmente por kinobi
En ese sentido, FieldByName está más en la línea actual de gestión de errores (excepciones), al "obligarte" a utilizar un bloque try ... except para capturar la excepción y actuar en consecuencia.
Me quedé pensando en estas palabras y no entiendo muy bien la intención. ¿Significa que es mejor, por ejemplo, referenciar un objeto entre try-except y esperar la excepción EAccessViolation en lugar de simplemente verificar que sea distinto de nil?

Mi sentir es que los bloques try-except son más adecuados en las situaciones que no están bajo nuestro control, por ejemplo:

Código:
try
  N := StrToInt(Edit1.Text);
except
  on EConvertError do
    { Mandar mensaje de error al usuario }
end;
Aquí estamos en una situación que no controlamos: la falta de pericia del usuario

Pero si podemos saber que algo va a fallar de antemano, ¿para qué esperarnos a que se lance la excepción?

En resumen, mi opinión es: inténtalo a menos que de antemano sepas que no se puede.

¿Y ustedes, qué piensan?

// Saludos

Se acerca el día...
Responder Con Cita