Aion-Carp
view release on metacpan or search on metacpan
[](https://github.com/darviarush/perl-aion-carp/actions) [](https://metacpan.org/release/Ai...
# NAME
Aion::Carp - добавлÑÐµÑ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÑÑека в иÑклÑÑениÑ
# VERSION
1.6
# SYNOPSIS
```perl
use Aion::Carp;
sub A { die "hi!" }
sub B { A() }
sub C { eval { B() }; die if $@ }
sub D { C() }
eval { D() };
my $expected = "hi!
die(...) called at t/aion/carp.t line 15
main::A() called at t/aion/carp.t line 16
main::B() called at t/aion/carp.t line 17
eval {...} called at t/aion/carp.t line 17
main::C() called at t/aion/carp.t line 18
main::D() called at t/aion/carp.t line 20
eval {...} called at t/aion/carp.t line 20
";
$expected =~ s/^ {4}/\t/gm;
substr($@, 0, length $expected) # => $expected
my $exception = {message => "hi!"};
eval { die $exception };
$@ # -> $exception
$@->{message} # => hi!
$@->{STACKTRACE} # ~> ^die\(\.\.\.\) called at
$exception = {message => "hi!", STACKTRACE => 123};
eval { die $exception };
$exception->{STACKTRACE} # -> 123
$exception = [];
eval { die $exception };
$@ # --> []
```
# DESCRIPTION
ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ `$SIG{__DIE__}` на ÑÑнкÑиÑ, добавлÑÑÑÑÑ Ð² иÑклÑÑÐµÐ½Ð¸Ñ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÑÑека.
ÐÑли иÑклÑÑением ÑвлÑеÑÑÑ ÑÑÑока, к ÑообÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ ÑÑаÑÑиÑовка ÑÑека. РеÑли иÑклÑÑением ÑвлÑеÑÑÑ Ñ
ÑÑ (`{}`) или обÑÐµÐºÑ Ð½Ð° базе Ñ
еÑÐ...
ÐÑи повÑоÑном вÑбÑаÑÑвании иÑклÑÑÐµÐ½Ð¸Ñ ÑÑаÑÑиÑовка ÑÑека не добавлÑеÑÑÑ, а оÑÑаÑÑÑÑ Ð¿Ñежней.
# SUBROUTINES
## handler ($message)
ÐобавлÑÐµÑ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÑÑека в `$message`.
```perl
eval { Aion::Carp::handler("hi!") }; $@ # ~> ^hi!\n\tdie
```
## import
ÐаменÑÐµÑ `$SIG{__DIE__}` на `handler`.
```perl
$SIG{__DIE__} = undef;
$SIG{__DIE__} # --> undef
Aion::Carp->import;
$SIG{__DIE__} # -> \&Aion::Carp::handler
```
# SEE ALSO
* `Carp::Always`
# AUTHOR
Yaroslav O. Kosmina <dart@cpan.org>
# LICENSE
â **GPLv3**
# COPYRIGHT
The Aion::Surf module is copyright © 2023 Yaroslav O. Kosmina. Rusland. All rights reserved.
( run in 2.339 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )