def handle_exception(error, payment_transaction, response = nil)
      call_handler HANDLER_SAVE_CHANGES, payment_transaction, response

      raise error unless has_handler? HANDLER_CATCH_EXCEPTION

      call_handler HANDLER_CATCH_EXCEPTION, error, payment_transaction, response
    end
def handle_exception(error, payment_transaction, response = nil)
      call_handler HANDLER_SAVE_CHANGES, payment_transaction, response

      raise error unless has_handler? HANDLER_CATCH_EXCEPTION

      call_handler HANDLER_CATCH_EXCEPTION, error, payment_transaction, response
    end
Handle raised exception. If configured self::HANDLER_CATCH_EXCEPTION, handler will be called,
 if not - exception will be raised again.

 @param    error                 [Exception]
 @param    payment_transaction   [PaymentTransaction]
 @param    response              [Response]