Según nos cuenta la ayuda de Delphi:
Cita:
Empezado por Ayuda de Delphi
If an exception is raised during execution of a constructor that was invoked on a class reference, the Destroy destructor is automatically called to destroy the unfinished object.
|
Es decir, con solo provocar una excepción el método Destroy es llamado de forma automática. En cuanto a lo de asignar el valor nil, basta con que se lo asignes antes de llamar al método Create, si se produce una excepción el valor no se cambiara.
Aunque personalmente me gusta mas el modelo que plantea Lepe.