title: "issubclass() arg 2 must be a class or tuple" in assertRaises
body: <p>I have a module InvalidObj</p>
  
  <pre><code>class InvalidObj(Exception):
  
      def__init__(self, value):
          self.value = value
  
      def __str__(self):
          return repr(self.value)
  
  class Hello(object):
  
      def __init__(self):
          self.a = 10
          self.b = 20 
  
      def aequalb(self):
          if self.a != self.b:
              raise InvalidObj("This is an error")
  </code></pre>
  
  <p>I am trying to do a unittest where a function throws the InvalidObj exception</p>
  
  <pre><code>class test_obj(unittest.TestCase):   
  
      def test_obj(self):
          at = Hello()
          self.assertRaises(InvalidObj("This is an error"), a.aequalb)
  </code></pre>
  
  <p>On running the above test_obj class, it gives me an error "issubclass() arg 2 must be a class or tuple". But if I change the line to,</p>
  
  <pre><code>self.assertRaises(InvalidObj, at.aequalb)
  </code></pre>
  
  <p>This runs fine. Isn't the error supposed to return the message passed to it when it is raised?</p>