title: Python unit testing, error happened and exception matched, but my program returns an `AssertionError`
body: <p>Here is my Python code.</p>
  
  <pre><code>try: ct("table_that_does_not_exist", "database_that_does_not_exists")
  except r.errors.ReqlOpFailedError as e: self.fail()
  </code></pre>
  
  <p><code>ct</code> is a function to check if a table is exist in a database. <code>ct</code> returns <code>True</code> if a table exists in the database and <code>False</code> for otherwise.</p>
  
  <p><code>try: ct("table_that_does_not_exist", "database_that_does_not_exists")</code> is trying to check a non-existent table in a non-existent database. This should returns an error of this.</p>
  
  <pre><code>rethinkdb.errors.ReqlOpFailedError: Database `database_that_does_not_exists` does not exist in:
  r.db('database_that_does_not_exists').table_list().contains('table_that_does_not_exist')
  </code></pre>
  
  <p>However, the error is somewhat not capture in <code>except r.errors.ReqlOpFailedError as e: self.fail()</code> and returns an <code>AssertionError</code>.</p>
  
  <p>I expect this to pass the test, since <code>ct("table_that_does_not_exist", "database_that_does_not_exists")</code> will return <code>r.errors.ReqlOpFailedError</code>. But I got this instead.</p>
  
  <pre><code>======================================================================
  FAIL: test_check_table (__main__.test)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "test.py", line 61, in test_check_table
      try: ct("table_that_does_not_exist", "database_that_does_not_exists")
  rethinkdb.errors.ReqlOpFailedError: Database `database_that_does_not_exists` does not exist in:
  r.db('database_that_does_not_exists').table_list().contains('table_that_does_not_exist')
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                   
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "test.py", line 62, in test_check_table
      except r.errors.ReqlOpFailedError as e: self.fail()
  AssertionError
  
  ----------------------------------------------------------------------
  Ran 7 tests in 0.050s
  
  FAILED (failures=1)
  </code></pre>
  
  <p>The error is match but not proceed through <code>except</code>.</p>
  
  <p>What is wrong with my test?</p>