class WebService::Intercom::Exception
with
::Throwable {
my
%CarpInternal
= (
"WebService::Intercom::Exception"
=> 1,
"Throwable"
=> 1);
has
'code'
=> (
is
=>
'ro'
);
has
'request_id'
=> (
is
=>
'ro'
);
has
'message'
=> (
is
=>
'ro'
,
isa
=>
'Maybe[Str]'
,
required
=> 1);
has
'stack'
=> (
is
=>
'ro'
,
default
=>
sub
{
my
(
$level
,
@caller
,
%ctxt
) = 0;
while
(
defined
scalar
caller
(
$level
) and
$CarpInternal
{
scalar
caller
(
$level
)}
) {
$level
++;
}
@ctxt
{
qw/ package file line /
} =
caller
(
$level
);
my
$stack
=
undef
;
$stack
=
"Devel::StackTrace"
->new(
ignore_package
=> [
keys
%CarpInternal
]
);
return
$stack
;
});
'""'
=>
sub
{
my
$e
=
shift
;
my
$msg
=
"WebService::Intercom::Exception: @{[$e->message]}\n"
;
$msg
.=
"Stack: "
.
$e
->stack .
"\n"
;
return
$msg
;
};
}
1;