My advice for use of Exception::Class is to only make exception classes for errors that you can catch, correct and continue. If all you plan to do with the exception is log it and stop, just use croak. Most errors don't require exception classes.
Comment on Re: Advice on a Base and Exception Class