in reply to When throw exceptions?
Exceptions are exceptional. Do not catch them. Use error or status numbers instead. Exceptions should never happen during runtime. For a context that must throw an exception, it must be a scenario that requires administrator intervention (a security breach attempt, upstream server timed out, etc) and is not software correctable.
In Section
Seekers of Perl Wisdom