use Nice::Try; try { # do something die( "Argh...\n" ); } catch( $wow ) { return( $self->error( "Caught an error: $wow" ) ); } finally { # do some cleanup }