NAME
Net::Fritz::Error - wraps any error from the Net::Fritz modules
VERSION
version v0.0.3
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) 2016 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/>.