Ich verstehe deinen try..finally-Block nicht. Wenn im Konstruktor eine
Exception geworfen wird, dann wird automatisch nach dem Verlassen der Destruktor ausgeführt. Erst dann geht es in den Code zurück der das Objekt erzeugen wollte.
Auch:
http://de.wikipedia.org/wiki/Fail-Fast