File::KDBX::Error(3pm) | User Contributed Perl Documentation | File::KDBX::Error(3pm) |
NAME
File::KDBX::Error - Represents something bad that happened
VERSION
version 0.906
ATTRIBUTES
details
\%details = $error->details;
Get the error details.
errno
Get the value of "errno" when the exception was created.
previous
Get the value of $@ (i.e. latest exception) at the time the exception was created.
trace
Get a stack trace indicating where in the code the exception was created.
type
Get the exception type, if any.
METHODS
new
$error = File::KDBX::Error->new($message, %details);
Construct a new error.
error
$error = error($error); $error = error($message, %details); $error = File::KDBX::Error->error($error); $error = File::KDBX::Error->error($message, %details);
Wrap a thing to make it an error object. If the thing is already an error, it gets returned. Otherwise what is passed will be forwarded to "new" to create a new error object.
This can be convenient for error handling when you're not sure what the exception is but you want to treat it as a File::KDBX::Error. Example:
eval { ... }; if (my $error = error(@_)) { if ($error->type eq 'key.missing') { handle_missing_key($error); } else { handle_other_error($error); } }
to_string
$message = $error->to_string; $message = "$error";
Stringify an error.
This does not contain a stack trace, but you can set the "DEBUG" environment variable to at least 2 to stringify the whole error object.
throw
File::KDBX::Error::throw($message, %details); $error->throw;
Throw an error.
warn
File::KDBX::Error::warn($message, %details); $error->warn;
Log a warning.
alert
alert $error;
Importable alias for "warn".
BUGS
Please report any bugs or feature requests on the bugtracker website <https://github.com/chazmcgarvey/File-KDBX/issues>
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Charles McGarvey <ccm@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2022 by Charles McGarvey.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2022-11-20 | perl v5.36.0 |