>Hi everybody,
>
>I am wondering what are good ways of avoiding multiple return points and yet not being caught in multiple if /else complex logic.
>
>Is it OK to return early? I think in C# it's a normal practice, but what if I need to format output? E.g. at the bottom of each method I have
>
>String returnMessage = Base.GetReturnString(errorValue, statusCode, messageText);
> Logging.Log("Returning " + returnMessage, 2);
>
> return returnMessage;
>
>So, should I put these 3 lines in its own method and just do
>
>return LogAndReturn(errorValue, statusCode, messageText);
>
>every time I need to exit the procedure earlier?
return, throw, break, continue, I don't see why anyone would make a rule against using these things in your code if you felt the code expressed what you were trying to say.
In some situations throwing an InvalidArgumentException would be appropriate. Not sure if that applies to C#, could be more of a java thing.