NAME
Data::Record::Serialize::Error - Error objects
VERSION
version 2.02
SYNOPSIS
use Data::Record::Serialize::Error -all;
use Data::Record::Serialize::Error { errors =>
[ qw( param
connect
schema
create
insert
)] }, -all;
DESCRIPTION
For the user of Data::Record::Serialize
Most errors result in exception objects being thrown, typically in the Data::Record::Serialize::Error hierarchy. The exception objects will stringify to an appropriate error message. Additional payload data may be returned as well (see the documentation for the individual modules which throw exceptions). The objects are derived from failures and have the attributes documented in "Attributes" in failures.
For the developer
This module organizes Data::Record::Serialize errors based upon custom::failures. It uses Exporter::Shiny. The global option errors may be used to construct a set of error classes. errors is passed an array of error names; if they begin with :: they are relative to Data::Record::Serialize::Error, otherwise they are relative to the Error sub-hierarchy under the calling package.
For example,
package Data::Record::Serialize::Bar;
use Data::Record::Serialize::Error { errors => [ '::foo', 'foo' ] };
will construct error classes Data::Record::Serialize::Error::foo and Data::Record::Serialize::Bar::Error::foo;
Error Class Names
Names (passed either during module import or to the "error" subroutine) are converted to fully qualified class names via the following:
if a name begins with
::it is relative toData::Record::Serialize::Errorotherwise it is relative to the
Errorsub-hierarchy under the calling package.
For example, in
package Data::Record::Serialize::Bar;
use Data::Record::Serialize::Error { errors => [ '::foo', 'foo' ] };
error( '::foo', @stuff );
error( 'foo', @stuff );
::foo will be converted to Data::Record::Serialize::Error::foo and foo to Data::Record::Serialize::Bar::Error::foo.
OBJECT ATTRIBUTES
msg
payload
trace
SUBROUTINES
error
error( $error_class, @_ );
Throw an error. $error_class is converted to a fully qualified class name; see "Error Class Names". The remaining parameters are passed directly to the failures throw method (see "Throwing failures" in failures).
INTERNALS
SUPPORT
Bugs
Please report any bugs or feature requests to bug-data-record-serialize@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Record-Serialize
Source
Source is available at
https://gitlab.com/djerius/data-record-serialize
and may be cloned from
https://gitlab.com/djerius/data-record-serialize.git
SEE ALSO
Please see those modules/websites for more information related to this module.
AUTHOR
Diab Jerius <djerius@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Smithsonian Astrophysical Observatory.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007