Although the exception handling of
DBI is considered by some to be a bit overdesigned, I would consider it as a model. There are global variables to provide defaults about whether to die, warn, or simply return flag values on every call. Then there are per-database-handle overrides for those, and per-statement-handle overrides for those again. I've found it to give me the flexibility I need for the style I want to to program in today.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.