title: Exceptions vs Special return values
body: <p>Which one is a better practice in programming?</p>
  
  <p>I am not talking about complete exclusivity. It's more for things like:</p>
  
  <p><code>list&lt;T&gt;.Find</code>, where you get <code>default(T)</code> or your value, instead of <code>ValueNotFound</code> exception (example).</p>
  
  <p>or</p>
  
  <p><code>list&lt;T&gt;.IndexOf</code>, where you get -1 or the correct index.</p>