Bug 29857: Provide a generic full_message method for our exceptions
We pass useful information when throwing exceptions, but we don't display them! We must display all the details we need when the exception is stringified. Test plan: Use the following snippet: use Koha::Exceptions::Elasticsearch; Koha::Exceptions::Elasticsearch::BadResponse->throw( type => "a good type", details => "and some details" ); Execute it without and with the patch. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
42096deea4
commit
7429f28cfc
1 changed files with 13 additions and 0 deletions
|
@ -9,4 +9,17 @@ use Exception::Class (
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sub full_message {
|
||||||
|
my $self = shift;
|
||||||
|
my $msg = $self->description;
|
||||||
|
my @fields;
|
||||||
|
my $field_hash = $self->field_hash;
|
||||||
|
while ( my ( $field, $value ) = each %$field_hash ) {
|
||||||
|
push @fields, $field . " => " . $value;
|
||||||
|
}
|
||||||
|
return
|
||||||
|
sprintf "Exception '%s' thrown '%s'" . ( @fields ? " with %s" : "" ) . "\n",
|
||||||
|
ref($self), $msg, ( @fields ? join ', ', @fields : () );
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
Loading…
Reference in a new issue