how do you use the return
<p>When we define our methods, we have a chance to use the <code>return</code> to tell the user what's the result. I always attempt to use this existing method to give max feedback to the caller. So I like to define a application level return status enum which is shared by all the components:</p>

<pre><code>public enum ReturnStatusEnum
    {
        SUCCESS,
        FAILED,
        FAIL_TO_SAVE,        
        FAIL_TO_OPEN, 
        FAIL_TO_WRITE,
        FAIL_TO_READ,
        FAIL_TO_FIND,
        TIMEOUT,   
        FAILED_NULL_OBJECT,
        FAILED_NONEXIST,
        FAILED_CANNOT_CONNECT,
        FAILED_WRONG_TYPE,
        FAILED_CANCELED,
        FAILED_NEGATIVE,
        FAILED_COMMUNICATION_DOWN,
    };
</code></pre>

<p>It is actually give user a more specific information about failure cases. Somebody may say a primitive type of <code>boolean</code> is enough why bother an object type of <code>enum</code>? How you use your <code>return</code> effectively?</p>

<p><strong>EDIT:</strong></p>

<p>I know Exception can be used to return failures but I don't like to try-catch most of my calling code. In many cases return a status is better than exception from readability and performance point of view.</p>

<p><strong>Don't know why so many <code>professional</code> here mad at using return or mad at my way to use return. Please give me a reason what's wrong with my way to use return and then I can improve or change it. Please don't just shot it without a reason. This is a discussion and question-answer forum.</strong></p>

<p><strong>EDIT2:</strong></p>

<p>This is NOT only return I am using in my code for sure. Many other cases we need to return objects and values. What I am talking about are some general cases which are only need a status. So the caller can react accoordingly.</p>
