The following module was proposed for inclusion in the Module List:
modid: Exception::Lite
DSLIP: bdphp
description: OOP exception w/ smart stacktrace,localizatn
userid: ELISHEVA (Elizabeth Grace Frank-Backman)
chapterid: 20 (Control_Flow_Utilities)
communities:
Perl Monks
similar:
Exception::Class Exception::Base Carp
rationale:
The choice of namespace was made after discussion on Perl Monks
(see "RFC: A better name for an exception handling module?",
http://www.perlmonks.org/?node_id=878578 )
There is an extensive discussion of how Exception::Lite fits into
the set of exception handling modules both in that Perl Monks post
and the pod for Exception::Lite
In brief:
* message - property integration - I believe this is the only
exception handling module that uses programmer defined combinations
of property values to generate messages.
* localization support - message generation rules can be loaded via
a closure or code reference, including a routine that checks locale
- see Exception::Lite pod for discussion and examples
* chaining - exceptions can be chained together (a la Java) to
create a consolidated stack trace. None of the more prominent
modules (i.e. those found via a search for Distributions on
exceptions) support this.
* smarter stack trace that puts the exception into the context of
its subroutine call and what called what without clutter - nearly
all existing modules base their stack tracing on Carp which focuses
on the problematic line itself rather than the context surrounding
it.
* more comprehensive command line control. While several modules
offer some degree of command line control, Exception::Lite provides
more control (filtering and tab width as well as verbosity)
* core modules only - a low level feature like exceptions shouldn't
drag in the world (an issue with Exception::Class)
* preservation of operator semantics - operator overrides do not
interfere with reference equality (==). (This is an issue with
Exception::Base which tries to address the dependency issue of
Exception::Class)
enteredby: ELISHEVA (Elizabeth Grace Frank-Backman)
enteredon: Wed Feb 9 06:20:01 2011 GMT
The resulting entry would be:
Exception::
::Lite bdphp OOP exception w/ smart stacktrace,localizatn ELISHEVA
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=95400000_96efa56001996422&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=95400000_96efa56001996422&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=Exception%3A%3ALite