NAME¶
App::Info::Handler::Carp - Use Carp to handle App::Info events
SYNOPSIS¶
use App::Info::Category::FooApp;
use App::Info::Handler::Carp;
my $carp = App::Info::Handler::Carp->new('carp');
my $app = App::Info::Category::FooApp->new( on_info => $carp );
# Or...
my $app = App::Info::Category::FooApp->new( on_error => 'croak' );
DESCRIPTION¶
App::Info::Handler::Carp objects handle App::Info events by passing their
messages to Carp functions. This means that if you want errors to croak or
info messages to carp, you can easily do that. You'll find, however, that
App::Info::Handler::Carp is most effective for info and error events; unknown
and prompt events are better handled by event handlers that know how to prompt
users for data. See App::Info::Handler::Prompt for an example of that
functionality.
Upon loading, App::Info::Handler::Carp registers itself with App::Info::Handler,
setting up a number of strings that can be passed to an App::Info concrete
subclass constructor. These strings are shortcuts that tell App::Info how to
create the proper App::Info::Handler::Carp object for handling events. The
registered strings are:
- carp
- Passes the event message to "Carp::carp()".
- warn
- An alias for "carp".
- croak
- Passes the event message to "Carp::croak()".
- die
- An alias for "croak".
- cluck
- Passes the event message to "Carp::cluck()".
- confess
- Passes the event message to
"Carp::confess()".
INTERFACE¶
Constructor¶
new
my $carp_handler = App::Info::Handler::Carp->new;
$carp_handler = App::Info::Handler::Carp->new( level => 'carp' );
my $croak_handler = App::Info::Handler::Carp->new( level => 'croak' );
Constructs a new App::Info::Handler::Carp object and returns it. It can take a
single parameterized argument, "level", which can be any one of the
following values:
- carp
- Constructs a App::Info::Handler::Carp object that passes
the event message to "Carp::carp()".
- warn
- An alias for "carp".
- croak
- Constructs a App::Info::Handler::Carp object that passes
the event message to "Carp::croak()".
- die
- An alias for "croak".
- cluck
- Constructs a App::Info::Handler::Carp object that passes
the event message to "Carp::cluck()".
- confess
- Constructs a App::Info::Handler::Carp object that passes
the event message to "Carp::confess()".
If the "level" parameter is not passed, "new()" will default
to creating an App::Info::Handler::Carp object that passes App::Info event
messages to "Carp::carp()".
BUGS¶
Please send bug reports to <bug-app-info@rt.cpan.org> or file them at
<
http://rt.cpan.org/NoAuth/Bugs.html?Dist=App-Info>.
AUTHOR¶
David Wheeler <david@justatheory.com>
SEE ALSO¶
App::Info documents the event handling interface.
Carp of documents the functions used by this class.
App::Info::Handler::Print handles events by printing their messages to a file
handle.
App::Info::Handler::Prompt offers event handling more appropriate for unknown
and confirm events.
App::Info::Handler describes how to implement custom App::Info event handlers.
COPYRIGHT AND LICENSE¶
Copyright (c) 2002-2008, David Wheeler. Some Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.