in reply to Exception Classes Advice on Subclasses
I'm not familiar with Exception::Class, but AFAICT it seems to me that if you use fields then you will have to manage them at throw() time, whereas if you use subclasses, which may seem a slightly less compact approach but really still amounts to code-reusing, you will have an immediate syntax to just throw() an exception as needed.
Basically, as it often happens, it is mainly a matter of personal taste/preference. You could even adopt a mixed approach. Personally I guess I would go for subclasses.