title: Is it a good or bad idea throwing Exceptions when validating data?
body: <p>When validating data, I've gotten into a habit of doing the following:</p>
  
  <p><strong>Note:</strong> I don't really have individual booleans for each check. This is just for the example.</p>
  
  <p><strong>Another Note:</strong> any error handling during the tests are done properly. The ONLY exceptions thrown in the try-catch are my own.</p>
  
  <pre><code>try {
    if (validCheckOne = false) {
      throw new Exception("Check one is bad");
    }
    if (validCheckTwo = false) {
      throw new Exception("Failed because of check2");
    }
    if(validCheckTen = false) {
      throw new Exception("Yet another failure on your part: check10.");
    }
  } catch(Exception e) {
    MessageBox.Show("Your stupid data is wrong! See for yourself: " + e.Message);
  }
  </code></pre>
  
  <p>Is this bad practice? Does throwing Exceptions slow the program's execution or is inadvisable?</p>