title: Catch KeyError in Python
body: <p>If I run the code:</p>
  
  <pre><code>connection = manager.connect("I2Cx")
  </code></pre>
  
  <p>The program crashes and reports a KeyError because I2Cx doesn't exist (it should be I2C).</p>
  
  <p>But if I do:</p>
  
  <pre><code>try:
      connection = manager.connect("I2Cx")
  except Exception, e:
      print e
  </code></pre>
  
  <p>It doesn't print anything for e. I would like to be able to print the exception that was thrown. If I try the same thing with a divide by zero operation it is caught and reported properly in both cases. What am I missing here?</p>