NAME

Class::Maker::Exception - exceptions tuned for Class::Maker

SYNOPSIS

use Class::Maker qw(class);

use Class::Maker::Exception qw(:try);
	
{
package Exception::Child;

	Class::Maker::class
	{
		isa => [qw( Class::Maker::Exception )],

		public =>
		{
			string => [qw( email )],
		},
	};

package Exception::ChildChild;

	Class::Maker::class
	{
		isa => [qw( Exception::Child )],

		public =>
		{
			string => [qw( name )],
		},
	};
}

sub do_some_stuff
{
	Exception::ChildChild->throw( email => 'bla@bla.de', name => 'johnny' );

return;
}

	try
	{
		do_some_stuff();

	}
	catch Exception::ChildChild with
	{
		foreach my $e (@_)
		{
			print Dumper $e;
		}
	};

DESCRIPTION

This is mainly a wrapper to "Error" from CPAN. Because it has a very odd inheritance mechanism, this wrapper is needed as a workarround.

BUGS

Not critical: The "text" attribute is not working. Reading/Writing to it somehow goes into nirvana. I suppose "Error" has same clue about it. Would suggest to inherit from Class::Maker::Exception and add and new "info_text" attribute, which will work.

BASE CLASSES

Class::Maker::Exception

Has following structure (and inheritable attributes).

class
{					
	isa => [qw( Error )],
	
	public =>
	{
		string => [qw( text package file )],
		
		integer => [qw( line )],
	},
};

AUTHOR

Murat Uenalan

SEE ALSO

Error