def _disconnect_reset_raise()

in redis/client.py [0:0]


    def _disconnect_reset_raise(self, conn, error) -> None:
        """
        Close the connection, reset watching state and
        raise an exception if we were watching,
        if retry_on_error is not set or the error is not one
        of the specified error types.
        """
        conn.disconnect()
        # if we were already watching a variable, the watch is no longer
        # valid since this connection has died. raise a WatchError, which
        # indicates the user should retry this transaction.
        if self.watching:
            self.reset()
            raise WatchError(
                "A ConnectionError occurred on while watching one or more keys"
            )
        # if retry_on_error is not set or the error is not one
        # of the specified error types, raise it
        if (
            conn.retry_on_error is None
            or isinstance(error, tuple(conn.retry_on_error)) is False
        ):
            self.reset()
            raise