Everyone following along with the svn checkins? If so, this won't be news.
I've added a super-rough first draft at Email::Base. All it does is require Email::Exception and provide a ->throw method. It works like this: $object->throw($exception_moniker => $arg); The moniker is either '::Foo' to get Email::Exception::Foo or 'Bar::Baz' to get just that. I don't think I like this, but it's where I started. The exact opposite might be better. $arg is either a string, which is used as the error param to the exception, or a hashref, which is used as the entire set of params. A "thrower" param is always added, referring to the object on which throw was called. Email::Exception has only one field in the base class: thrower. Next email: Email::Sender. -- rjbs