# File lib/amazon.rb, line 276
  def attempts(exception_list=StandardError, delay=1)
    return if self <= 0

    result = nil

    count = 0
    loop do

      begin
        reason = nil
        result = yield(count += 1)
      rescue *exception_list => reason
        if count < self
          sleep delay
          retry
        end
      end

      if reason
        raise reason
      else
        return result
      end

    end
  end