Exception::Class allows you to declare exception hierarchies in your modules in a Java-esque manner.

WWW: https://metacpan.org/pod/Exception::Class
