A couple of typos, and general whitespace cleanup (ick)
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Exception.pm
index 83e0255..e8e9ff7 100644 (file)
@@ -16,8 +16,8 @@ DBIx::Class::Exception - Exception objects for DBIx::Class
 
 =head1 DESCRIPTION
 
-Exception objects of this class are used in internally by
-he default error handling of L<DBIx::Class::Schema/throw_exception>
+Exception objects of this class are used internally by
+the default error handling of L<DBIx::Class::Schema/throw_exception>
 to prevent confusing and/or redundant re-application of L<Carp>'s
 stack trace information.
 
@@ -49,8 +49,8 @@ L<Carp::Clan/croak>.
 sub throw {
     my ($class, $msg, $stacktrace) = @_;
 
-    # Don't re-encapsulate multiple times
-    die $msg if blessed($msg) && $msg->isa('DBIx::Class::Exception');
+    # Don't re-encapsulate exception objects of any kind
+    die $msg if blessed($msg);
 
     # use Carp::Clan's croak if we're not stack tracing
     if(!$stacktrace) {
@@ -61,13 +61,24 @@ sub throw {
     else {
         $msg = Carp::longmess($msg);
     }
-    
+
     my $self = { msg => $msg };
     bless $self => $class;
 
     die $self;
 }
 
+=head2 rethrow
+
+This method provides some syntactic sugar in order to
+re-throw exceptions.
+
+=cut
+
+sub rethrow {
+    die shift;
+}
+
 =head1 AUTHORS
 
 Brandon L. Black <blblack@gmail.com>