Hola disculpen que me meta donde no me llamen, no se si se deba a que estoy un tanto dormido, pero no termino de comprender a lo que se desea llegar.
No conozco demasiado, pero tengo entendido que una máxima de la programación dice "un objeto o se crea o no crea, no puede ser creado a medias". Si ocurre un error durante la creación de un objeto tiene lugar el evento destructor para limpiar la memoria, por tanto quedará la variable quedará apuntando a nil.
Tengo entendido, por favor corrijanme o tirenme de la oreja si me equivoco, que el método create no provoca ninguna excepción por lo que incorporar la sentencia
dentro de un Try está demás. No puede esperarse capturar una excepción en Create, más bien se puede capturar cuando se desea hacer uso de algún método y/o acceder a una propiedad.
De modo que la excepción que obtendremos es ese famoso EAccessViolation. En síntesis, yo lo veo así:
Código Delphi
[-]objA := TObjA.Create;
try
ObjtA...
...
except
on E: EAccessViolation do
ShowMessage('¡Hey, Obj no ha sido creado!);
end;
Repito nuevamente, no se si es eso lo que se trata de ver aqui. La verdad es que me sentí un tanto confundido cuando leía este hilo. Mas yo posteo aqui por curiosidad y por un tirón de orejas para ver si logro aprender el tema que se está debatiendo.
Saludos,