in reply to How to prevent Exception::Class to exit the process

I would first create a package that inherits DBIx:RetryOverdisconnect and then override any mortal methods with a routine that applies Moritz's eval solution e.g.
package DBIx::RetryOverDisconnects::Immortal; use DBIx::RetryOverDisconnects; sub DBIx::RetryOverDisconnects::Immortal::txn_do { my ($self, $coderef) = @_; my $success = 0; eval( $success = $self ->DBIx::RetryOverDisconnects::txn_do($coder +ef) ); $success; }
The use of this kind of module should obviate the need to recode the CPAN module.

One world, one people