title: Adding information to an exception?
body: <p>I want to achieve something like this:</p>
  
  <pre><code>def foo():
     try:
         raise IOError('Stuff ')
     except:
         raise
  
  def bar(arg1):
      try:
         foo()
      except Exception as e:
         e.message = e.message + 'happens at %s' % arg1
         raise
  
  bar('arg1')
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>Traceback...
    IOError('Stuff Happens at arg1')
  </code></pre>
  
  <p>But what I get is:</p>
  
  <pre class="lang-none prettyprint-override"><code>Traceback..
    IOError('Stuff')
  </code></pre>
  
  <p>Any clues as to how to achieve this? How to do it both in Python 2 and 3?</p>