title: Returning results/erros from WCF services. Complex type or an exception?
body: <p>A few days ago I asked a very similar question. I was about returning values/errors inside the application. I accept an answer to not return error as and object but throw an custom exceptions.
  Now, I'm not exactly sure how to deal with it using WCF services. I wish the service will be as simple as it could be for client.</p>
  
  <p>Speaking very generally, my project looks like that: 
  Client -> WCF Service application -> Database.</p>
  
  <p>Inside WCF app I've got my own exception class, and it works fine. But let's say client want sth from db. My question is: 
  What should I return to the client outside my app?
  A. Complex type: A value with meta data (information about a possible error[1]). And when really unexpected error occurs throw an exception.
  B. Just a value (when possible error occurs - throw an exception) </p>
  
  <p>[1] - invalid string format, can't connect to database or sth like that. I mean - If I know what the error exactly is - why throw an exception to client - I'm not sure about that.  </p>