<<

NAME

MT::ErrorHandler - MT error handling

SYNOPSIS

    package Foo;
    use MT::ErrorHandler;
    @Foo::ISA = qw( MT::ErrorHandler );

    sub class_method {
        my $class = shift;
        ...
        return $class->error("Help!")
            unless $continue;
    }

    sub object_method {
        my $obj = shift;
        ...
        return $obj->error("I am no more")
            unless $continue;
    }

    package main;
    use Foo;

    Foo->class_method or die Foo->errstr;

    my $foo = Foo->new;
    $foo->object_method or die $foo->errstr;

DESCRIPTION

MT::ErrorHandler provides an error-handling mechanism for all <MT> modules/classes. It is meant to be used as a base class for classes that wish to use its error-handling methods: derived classes use its two methods, error and errstr, to communicate error messages back to the calling program.

On failure (for whatever reason), a subclass should call error and return to the caller; error itself sets the error message internally, then returns undef. This has the effect of the method internally, then returns undef. This has the effect of the method that failed returning undef to the caller. The caller should check for errors by checking for a return value of undef, and in this case should call errstr to get the value of the error message. Note that calling errstr when an error has not occurred is undefined behavior and will rarely do what you want.

As demonstrated in the SYNOPSIS (above), error and errstr work both as class methods and as object methods.

USAGE

Class->new

Constructs a new MT::ErrorHandler instance.

Class->error($message)

$object->error($message)

Sets the error message for either the class Class or the object $object to the message $message. Returns undef.

Class->errstr

$object->errstr

Accesses the last error message set in the class Class or the object $object, respectively, and returns that error message.

AUTHOR & COPYRIGHTS

Please see the MT manpage for author, copyright, and license information.

<<