>>If you have code that needs to exit during construction you probably have a design flaw <s>...
>
>Well, the New() event of the object defines a lot of properties. But, to define one of those properties, I need to execute a SQL command. In one particular circumstance, it may be that the SQL command would return no record. If that is the case, I need to redirect to another page with a message. But, doing a redirect inside a New() constructor will not work. So, what I do is that I initialize a property lStop to True and use that later on.
>
>What would you recommend to enhance that design?
If you have 'application' level code you probably shouldn't run that code in in the constructor. A constructor should just bring up the object with as few dependencies as possible. Instead consider creating an Initialize() method or something like that that you can externally to set up your connection etc. You can return true or false from that and you can manage that in your application code more easily.
Throwing exceptions will give you that same functionality but I personally think that object instantiation should always work unless there's truly an exceptional failure.