Three rules for using exceptions:

  • Be specific
  • Throw early
  • Catch late

From Three Rules for Effective Exception Handling