NAME

Net::Fritz::IsNoError - a Moo::Role discerning all other Net::Fritz objects from a Net::Fritz::Error object

VERSION

version v0.0.9

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

All valid (non-error) Net::Fritz classes do the Net::Fritz::IsNoError role, the only exception being of course) Net::Fritz::Error. All Net::Fritz objects thus support error and errorcheck

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

Returns an empty string to pass any if($obj->error) { ... } checks.

METHODS

errorcheck

A no-op, so that calling $obj->errorcheck just succeeds and carries on.

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/>.