title: What does raise in Python raise?
body: <p>Consider the following code:</p>
  
  <pre><code>try:
      raise Exception("a")
  except:
      try:
          raise Exception("b")
      finally:
          raise
  </code></pre>
  
  <p>This will raise <code>Exception: a</code>. I expected it to raise <code>Exception: b</code> (need I explain why?). Why does the final <code>raise</code> raise the original exception rather than (what I thought) was the last exception raised?</p>