# File lib/rantly/generator.rb, line 68
  def generate(n,limit_arg,gen_block,&handler)
    limit = n * limit_arg
    nfailed = 0
    nsuccess = 0
    while nsuccess < n
      raise TooManyTries.new(limit_arg*n,nfailed) if limit < 0
      begin
        val = self.instance_eval(&gen_block)
      rescue GuardFailure
        nfailed += 1
        limit -= 1
        next
      end
      nsuccess += 1
      limit -= 1
      handler.call(val) if handler
    end
  end