There are already several questions about this on StackOverflow but none of them adequately capture the nature of throwing exceptions from constructors and the memory implic