Aion-Carp

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


$exception = [];
eval { die $exception };
$@ # --> []
```

# DESCRIPTION

Этот модуль заменяет `$SIG{__DIE__}` на функцию, добавляющую в исключения трассировку стека.

Если исключением является строка, к сообщению добавляется трассировка стека. А если исключением является хэш (`{}`) или объект на базе хешÐ...

При повторном выбрасывании исключения трассировка стека не добавляется, а остаётся прежней.

# SUBROUTINES

## handler ($message)

Добавляет трассировку стека в `$message`.

```perl

i18n/Aion/Carp.ru-en.po  view on Meta::CPAN

msgid "Aion::Carp - добавляет трассировку стека в исключения"
msgstr "Aion::Carp - adds stack trace to exceptions"

msgid "Этот модуль заменяет `$SIG{__DIE__}` на функцию, добавляющую в исключения трассировку стека."
msgstr "This module replaces `$SIG{__DIE__}` with a function that adds a stack trace to exceptions."

msgid "Если исключением является строка, к сообщению добавляется трассировка стека. А если исключением является хэш (`{}`) или объект на базе ...
msgstr "If the exception is a string, a stack trace is added to the message. And if the exception is a hash (`{}`) or a hash-based object (`bless {}, \"...\"), then the `STACKTRACE` key with stacktrace is added to it."

msgid "При повторном выбрасывании исключения трассировка стека не добавляется, а остаётся прежней."
msgstr "When the exception is thrown again, the stack trace is not added, but remains the same."

msgid "Добавляет трассировку стека в `$message`."
msgstr "Adds a stack trace to `$message`."

msgid "Заменяет `$SIG{__DIE__}` на `handler`."
msgstr "Replaces `$SIG{__DIE__}` with `handler`."

lib/Aion/Carp.md  view on Meta::CPAN


$exception = [];
eval { die $exception };
$@ # --> []
```

# DESCRIPTION

Этот модуль заменяет `$SIG{__DIE__}` на функцию, добавляющую в исключения трассировку стека.

Если исключением является строка, к сообщению добавляется трассировка стека. А если исключением является хэш (`{}`) или объект на базе хешÐ...

При повторном выбрасывании исключения трассировка стека не добавляется, а остаётся прежней.

# SUBROUTINES

## handler ($message)

Добавляет трассировку стека в `$message`.

```perl

lib/Aion/Carp.pm  view on Meta::CPAN

	$exception->{STACKTRACE} # -> 123
	
	$exception = [];
	eval { die $exception };
	$@ # --> []

=head1 DESCRIPTION

This module replaces C<$SIG{__DIE__}> with a function that adds a stack trace to exceptions.

If the exception is a string, a stack trace is added to the message. And if the exception is a hash (C<{}>) or a hash-based object (C<bless {}, "..."), then the>STACKTRACE` key with stacktrace is added to it.

When the exception is thrown again, the stack trace is not added, but remains the same.

=head1 SUBROUTINES

=head2 handler ($message)

Adds a stack trace to C<$message>.

	eval { Aion::Carp::handler("hi!") }; $@  # ~> ^hi!\n\tdie

t/aion/carp.t  view on Meta::CPAN


$exception = [];
eval { die $exception };
local ($::_g0 = do {$@}, $::_e0 = do {[]}); ::is_deeply $::_g0, $::_e0, '$@ # --> []' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;

# 
# # DESCRIPTION
# 
# Этот модуль заменяет `$SIG{__DIE__}` на функцию, добавляющую в исключения трассировку стека.
# 
# Если исключением является строка, к сообщению добавляется трассировка стека. А если исключением является хэш (`{}`) или объект на базе хеÑ...
# 
# При повторном выбрасывании исключения трассировка стека не добавляется, а остаётся прежней.
# 
# # SUBROUTINES
# 
# ## handler ($message)
# 
# Добавляет трассировку стека в `$message`.
# 
::done_testing; }; subtest 'handler ($message)' => sub { 



( run in 2.068 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )