NAME
Spreadsheet::XLSX::Reader::LibXML::Error - Moose class for remembering the last error
SYNOPSIS
#!/usr/bin/env perl
$|=1;
use MooseX::ShortCut::BuildInstance qw( build_instance );
use Spreadsheet::XLSX::Reader::LibXML::Error;
my $action = build_instance(
add_attributes =>{
error_inst =>{
handles =>[ qw( error set_error clear_error set_warnings if_warn ) ],
},
},
error_inst => Spreadsheet::XLSX::Reader::LibXML::Error->new(
should_warn => 1,
# should_warn => 0,# to turn off cluck when the error is set
),
);
print $action->dump;
$action->set_error( "You did something wrong" );
print $action->dump;
print $action->error . "\n";
##############################################################################
# SYNOPSIS Screen Output
# 01: $VAR1 = bless( {
# 02: 'error_inst' => bless( {
# 03: 'should_warn' => 1,
# 04: 'log_space' => 'Spreadsheet::XLSX::Reader::LogSpace'
# 04: }, 'Spreadsheet::XLSX::Reader::Error' )
# 05: }, 'ANONYMOUS_SHIRAS_MOOSE_CLASS_1' );
# 06: You did something wrong line 19
# 07: at ../lib/Spreadsheet/XLSX/Reader/Error.pm line 28.
# 08: Spreadsheet::XLSX::Reader::Error::__ANON__('Spreadsheet::XLSX::Reader::Error=HASH(0x45e818)', 'You did something wrong') called at writer Spreadsheet::XLSX::Reader::Error::set_error of attribute error_string (defined at ../lib/Spreadsheet/XLSX/Reader/Error.pm line 28) line 9
# 09: Spreadsheet::XLSX::Reader::Error::set_error('Spreadsheet::XLSX::Reader::Error'=HASH(0x45e818)', 'You did something wrong') called at C:/strawberry/perl/site/lib/Moose/Meta/Method/Delegation.pm line 110
# 10: ANONYMOUS_SHIRAS_MOOSE_CLASS_1::set_error('ANONYMOUS_SHIRAS_MOOSE_CLASS_1=HASH(0x45e890)', 'You did something wrong') called at error_example.pl line 19
# 11: $VAR1 = bless( {
# 12: 'error_inst' => bless( {
# 13: 'should_warn' => 1,
# 14: 'error_string' => 'You did something wrong'
# 15: }, 'Spreadsheet::XLSX::Reader::Error' )
# 16: }, 'ANONYMOUS_SHIRAS_MOOSE_CLASS_1' );
# 17: You did something wrong
##############################################################################
DESCRIPTION
This documentation is written to explain ways to extend this package. To use the data extraction of Excel workbooks, worksheets, and cells please review the documentation for Spreadsheet::XLSX::Reader::LibXML, Spreadsheet::XLSX::Reader::LibXML::Worksheet, and Spreadsheet::XLSX::Reader::LibXML::Cell
This Moose class contains two attributes. It is intended to be used through (by) delegation in other classes. The first attribute is used to store the current error string. The second, is set to turn on or off pushing the error string to STDERR when the first attribute is (re)set.
This class uses a role for full functional implementation. Read the documentation for each of the role(s) as well as this documentation to gain a complete picture of this class.
with
These are attached role(s) for additional (re-used) functionality
Spreadsheet::XLSX::Reader::LibXML::LogSpace
Attributes
Data passed to new when creating an instance. For modification of these attributes see the listed 'attribute methods'. For more information on attributes see Moose::Manual::Attributes.
error_string
Definition: This stores the most recent error string for recall later. It also provides a hook to debug logging through Log::Shiras.
Default undef (init_arg = undef)
Range any string
attribute methods Methods provided to adjust this attribute
error
Definition: returns the currently stored error
clear_error
Definition: clears the currently stored error
set_error( $error_string )
Definition: sets the attribute to $error_string.
should_warn
Definition: This determines if the package will cluck and return a stack trace when the error_string attribute is set.
Default 1 -> it will cluck
Range Boolean values
attribute methods Methods provided to adjust this attribute
set_warnings( $bool )
Definition: Turn clucked warnings on or off
if_warn
Definition: Returns the current setting of this attribute
SUPPORT
TODO
1. get clases in this package to return error numbers rather than error strings and then provide opportunity for this class to localize.
AUTHOR
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
This software is copyrighted (c) 2014 by Jed Lund
DEPENDENCIES
SEE ALSO
Spreadsheet::ParseExcel - Excel 2003 and earlier
Spreadsheet::XLSX - 2007+
Spreadsheet::ParseXLSX - 2007+
All lines in this package that use Log::Shiras are commented out