Well that was actually a reason why, there is also test to guarantee that. If attempt to dispose thing that failed to construct generates errors. I think it's reasonable to assume that if you're constructor throws your program is broken.