title: Why are Exceptions iterable?
body: <p>I have been bitten by something unexpected recently. I wanted to make something like that:</p>
  
  <pre><code>try :
       thing.merge(iterable) # this is an iterable so I add it to the list
  except TypeError :
       thing.append(iterable) # this is not iterable, so I add it
  </code></pre>
  
  <p>Well, It was working fine until I passed an object inheriting from Exception which was supposed to be added.</p>
  
  <p>Unfortunetly, an Exception is iterable. The following code does not raise any <code>TypeError</code>:</p>
  
  <pre><code>for x in Exception() :
      print 1
  </code></pre>
  
  <p>Does anybody know why?</p>