diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 984ec27..c6a6405 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -891,12 +891,19 @@
          with self.failUnlessRaises(some_error_class):
              do_something()
 
+      The context manager will store the caught exception object in its
+      :attr:`exc_value` attribute.  This can be useful if the intention
+      is to perform additional checks on the exception raised.
+
       .. versionchanged:: 3.1
          Added the ability to use :meth:`assertRaises` as a context manager.
 
       .. deprecated:: 3.1
          :meth:`failUnlessRaises`.
 
+      .. versionchanged:: 3.1
+         Added the :attr:`exc_value` attribute.
+
 
    .. method:: assertRaisesRegexp(exception, regexp[, callable, ...])
 
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 9cdca96..e33f31e 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -2847,6 +2847,21 @@
                 self.assertRaisesRegexp, Exception,
                 re.compile('^Expected$'), Stub)
 
+    def testAssertRaisesExcValue(self):
+        class ExceptionMock(Exception):
+            pass
+
+        def Stub(foo):
+            raise ExceptionMock(foo)
+        v = "particular value"
+
+        ctx = self.assertRaises(ExceptionMock)
+        with ctx:
+            Stub(v)
+        e = ctx.exc_value
+        self.assertTrue(isinstance(e, ExceptionMock))
+        self.assertEqual(e.args[0], v)
+
     def testSynonymAssertMethodNames(self):
         """Test undocumented method name synonyms.
 
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 79c4a72..ed17b6e 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -116,6 +116,9 @@
         if not issubclass(exc_type, self.expected):
             # let unexpected exceptions pass through
             return False
+        #store exception, without traceback, for later retrieval
+        self.exc_value = exc_value
+        self.exc_value.with_traceback(None)
         if self.expected_regex is None:
             return True
 
