title: Validation and exception vs. error message tuple
body: <p>I am working on a validation function. I understand that exceptions are used for errors and unexpected situations, but in the case of a validation function, if a condition is not met inside, I would expect it to return <code>False</code> instead of an exception.</p>
  
  <p>The thing is that after the validation finishes I need to raise an message window with a message like: <code>"Tool exited because X condition not met"</code>. My workflow has been to return tuples with the result and message:</p>
  
  <pre><code>(True, Y_message)
  </code></pre>
  
  <p>or
      (False, X_condition_not_met)</p>
  
  <p>and then:</p>
  
  <pre><code>a, b = result
  if not a:
      raise_window(message=b)
  </code></pre>
  
  <p>However recently I have stumbled upon multiple answers raising a controversy about this issue and I am confused. For example some people say to always go with exceptions: <a href="https://stackoverflow.com/questions/38508/whats-the-best-way-to-return-multiple-values-from-a-function-in-python/38524#38524">What&#39;s the best way to return multiple values from a function in Python?</a> and others say tuples are the way to go <a href="https://stackoverflow.com/questions/1630706/best-practice-in-python-for-return-value-on-error-vs-success/1630722#1630722">Best practice in python for return value on error vs. success</a>.</p>
  
  <p>I would appreciate if someone could point me in the right direction.</p>