Hola,
se me había pasado de largo este hilo. Sólo un comentario:
Cita:
Posteado originalmente por roman
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?
|
Lo que pretendía decir es que la gestión "moderna" (ojo a las comillas) de errores tiene uno de sus fundamentos en separar el hilo (en el sentido de flujo) de ejecución del código de la propia gestión de errores.
En la programación "tradicional" (ojo otra vez a las comillas), uno tiene que verificar cada paso que da dentro del algoritmo que está implantando para tener la seguridad que todo está bajo control. Con los bloques
try ... también tiene que hacerlo, pero separando claramente lo que es el algoritmo en sí y lo que son las situaciones excepcionales o errores que pueden producirse.
Resumiendo, la gestión de los errores es la misma (*) en ambos casos, pero en la "tradicional" va mezclada con el código realmente "útil", y en el caso de los bloques
try ... se separa, haciendo que sea más cómoda su gestón.
(*) Bueno, en realidad con los bloques
try ... se tiene más versatilidad, ya que no es necesario gestionar la situación excepcional en el mismo bloque de código donde se produce, puede delegarse en bloques superiores.
Saludos.