http://www.perlmonks.org?node_id=518284


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.