def handle_error(ex, file_name)
      if ex.message == "NOSCRIPT No matching script. Please use EVAL."
        SCRIPT_SHAS.delete(file_name)
        return yield if block_given?
      end

      raise ScriptError, file_name: file_name, source_exception: ex
    end
def handle_error(ex, file_name)
      if ex.message == "NOSCRIPT No matching script. Please use EVAL."
        SCRIPT_SHAS.delete(file_name)
        return yield if block_given?
      end

      raise ScriptError, file_name: file_name, source_exception: ex
    end
Handle errors to allow retrying errors that need retrying

 @param [Redis::CommandError] ex exception to handle
 @param [Symbol] file_name the name of the lua script

 @return [void]

 @yieldreturn [void] yields back to the caller when NOSCRIPT is raised