NAME
Net::Fritz::Error - wraps any error from the Net::Fritz modules
VERSION
version v0.0.5
SYNOPSIS
$root_device = Net::Fritz::Box->new->discover;
$root_device->errorcheck;
or
$root_device = Net::Fritz::Box->new->discover;
if ($root_device->error) {
die "error: " . $root_device->error;
}
DESCRIPTION
Whenever any of the Net::Fritz modules detects an error, it returns an Net::Fritz::Error object. All valid (non-error) objects also implement error
and errorcheck
via the role Net::Fritz::IsNoError, so calling both methods always works for any Net::Fritz object.
If you want your code to just die()
on any error, call $obj-
errorcheck> on every returned object (see first example above).
If you just want to check for an error and handle it by yourself, call $obj->error
. All non-errors will return 0
(see second example above).
You don't have to check for errors at all, but then you might run into problems when you want to invoke methods on an Net::Fritz::Error object that don't exist (because you expected to get eg. an Net::Fritz::Service object instead).
ATTRIBUTES (read-only)
error
Contains the error message as a string. Don't set this to anything resembling false or you will trick your tests.
METHODS
new
Creates a new Net::Fritz::Error object. You propably don't have to call this method, it's mostly used internally. Expects parameters in key => value
form with the following keys:
- error
-
set the error message
With only one parameter (in fact: any odd value of parameters), the first parameter is automatically mapped to error.
errorcheck
Immediately die()
, printing the error text.
dump
Returns some preformatted information about the object. Useful for debugging purposes, printing or logging.
SEE ALSO
See Net::Fritz for general information about this package, especially "INTERFACE" in Net::Fritz for links to the other classes.
AUTHOR
Christian Garbs <mitch@cgarbs.de>
COPYRIGHT AND LICENSE
Copyright (C) 2017 Christian Garbs
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.