Summary: Paths that happen more often than one time in one thousand should not involve exceptions

Exception Overthrow


It's important to use exceptions for truly exceptional cases and not merely "unusual" ones. If throwing an exception made the computer beep would you still throw it? If the answer is no then perhaps you should consider some more explicit control-flow.

See Exception Cost: When to throw and when not to
Microsoft Communities