title: How to handle AssertionError in Python and find out which line or statement it occurred on?
body: <p>I want to handle <code>AssertionError</code>s both to hide unnecessary parts of the stack trace from the user and to print a message as to why the error occurred and what the user should do about it.</p>
  
  <p><strong>Is there any way to find out on which line or statement the <code>assert</code> failed within the <code>except</code> block?</strong></p>
  
  <pre><code>try:
      assert True
      assert 7 == 7
      assert 1 == 2
      # many more statements like this
  except AssertionError:
      print 'Houston, we have a problem.'
      print
      print 'An error occurred on line ???? in statement ???'
      exit(1)
  </code></pre>
  
  <p>I don't want to have to add this to every assert statement:</p>
  
  <pre><code>assert 7 == 7, "7 == 7"
  </code></pre>
  
  <p>because it repeats information.</p>