Um den Constructor abzubrechen und damit die Freigabe des in der Instanziierung befindlichen Objektes zu erreichen, ist nur durch werfen (oder re-raise) einer
Exception möglich.
Somit auf deinen Code angewandt: Das Free wird automatisch vom Compiler gemacht, da du eine
Exception im Constructor wirfst. Von daher ist der gesamte try/except Block unnötig, da es ohne diesen schon alles so macht wie du es wünscht.