title: Error Handling: Raise Events or Manually Throw Exception
body: <p>I have a class that I am writing that is basically going to be used to send transactions to a credit card processor. </p>
  
  <p>As a safeguard I do a few checks to validate the properties being passed in to the functions and my question is if I detect something wrong, say a blank or invalid credit card number, should I raise a custom event and force whatever is calling the function to handle the custom event in order to handle the exception or should I <code>throw</code> a new exception and just assume that whatever calls my class will have its own try's and catches in place to handle the exception?</p>
  
  <p>I'm curious which is more efficient but more concerned with accepted standards in regards to manually using the <code>throw</code> keyword.</p>