# $Id: Exception.pm 2 2007-12-23 02:16:25Z dtikhonov $ # RT::Client::REST::Object::Exception package RT::Client::REST::Object::Exception; use strict; use warnings; use vars qw($VERSION); $VERSION = 0.04; use Error; use Exception::Class ( 'RT::Client::REST::Object::OddNumberOfArgumentsException' => { isa => __PACKAGE__, description => "This means that we wanted name/value pairs", }, 'RT::Client::REST::Object::InvalidValueException' => { isa => __PACKAGE__, description => "Object attribute was passed an invalid value", }, 'RT::Client::REST::Object::NoValuesProvidedException' => { isa => __PACKAGE__, description => "Method expected parameters, but none were provided", }, 'RT::Client::REST::Object::InvalidSearchParametersException' => { isa => __PACKAGE__, description => "Invalid search parameters provided", }, 'RT::Clite::REST::Object::InvalidAttributeException' => { isa => __PACKAGE__, description => "Invalid attribute name", }, 'RT::Client::REST::Object::IllegalMethodException' => { isa => __PACKAGE__, description => "Illegal method is called on the object", }, 'RT::Client::REST::Object::NoopOperationException' => { isa => __PACKAGE__, description => "The operation was a noop", }, 'RT::Client::REST::Object::RequiredAttributeUnsetException' => { isa => __PACKAGE__, description => "An operation failed because a required attribute " . "was not set in the object", }, ); # Some mildly weird magic to fix up inheritance (see Exception::Class POD). { no strict 'refs'; push @{__PACKAGE__ . '::ISA'}, 'Exception::Class::Base'; push @Exception::Class::Base::ISA, 'Error' unless Exception::Class::Base->isa('Error'); } 1;