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...