blob: 93f66711baea3a265f8f15db9654c51f8e9f4f07 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
This module lets you define an exception hierarchy quickly and simply.
Here were my design goals:
- minimalist interface
- 80% of features in 20% of lines of code
- depend only on core modules (nearly achieved)
- support hierarchical error types
- identify errors types by name (class) not by parsing strings
- leave (possibly expensive) trace decisions to the thrower
Currently, failures is implemented in under 70 lines of code.
Failure objects are implemented with Class::Tiny to allow easy subclassing (see
custom::failures), but Class::Tiny only requires core modules, so other than
that exception, the 'core only' goal is achieved.
|