# ***********************************************
# 
# !!!! DO NOT EDIT !!!!
# 
# This file was auto-generated by Build.PL.
# 
# ***********************************************
# 
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

=encoding utf8

=head1 NAME

Clownfish::Err - Exception.

=head1 SYNOPSIS

    package MyErr;
    use base qw( Clownfish::Err );
    
    ...
    
    package main;
    use Scalar::Util qw( blessed );
    while (1) {
        eval {
            do_stuff() or MyErr->throw("retry");
        };
        if ( blessed($@) and $@->isa("MyErr") ) {
            warn "Retrying...\n";
        }
        else {
            # Re-throw.
            die "do_stuff() died: $@";
        }
    }

=head1 DESCRIPTION

Clownfish::Err is the base class for exceptions in the Clownfish object
hierarchy.

The Err module also provides access to a per-thread Err shared variable via
set_error() and get_error().  It may be used to store an Err object
temporarily, so that calling code may choose how to handle a particular
error condition.

=head1 METHODS

=head2 cat_mess

    $err->cat_mess($mess);

Concatenate the supplied argument onto the error message.

=head2 get_mess

    my $string = $err->get_mess();

Return the error message.

=head1 INHERITANCE

Clownfish::Err isa L<Clownfish::Obj>.

=cut