Exception::Class allows you to declare exceptions in your modules in a manner similar to how exceptions are declared in Java. . It features a simple interface allowing programmers to 'declare' exception classes at compile time. It also has a base exception class, Exception::Class::Base, that can be used for classes stored in files (aka modules ;) ) that are subclasses. . It is designed to make structured exception handling simpler and better by encouraging people to use hierarchies of exceptions in their applications.