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