Add .what() to error message when standard exception is raised in CHECK_CLOSE.
diff --git a/src/CheckMacros.h b/src/CheckMacros.h
index c8e6e34..65be97a 100644
--- a/src/CheckMacros.h
+++ b/src/CheckMacros.h
@@ -81,6 +81,13 @@
 		({ \
             UnitTest::CheckClose(*UnitTest::CurrentTest::Results(), expected, actual, tolerance, UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__)); \
         }) \
+		UT_CATCH (std::exception, e, \
+		{ \
+			UnitTest::MemoryOutStream message; \
+			message << "Unhandled exception (" << e.what() << ") in CHECK_CLOSE(" #expected ", " #actual ")"; \
+			UnitTest::CurrentTest::Results()->OnTestFailure(UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), \
+				message.GetText()); \
+		}) \
         UT_CATCH_ALL \
 		({ \
             UnitTest::CurrentTest::Results()->OnTestFailure(UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), \
diff --git a/src/tests/TestExceptions.cpp b/src/tests/TestExceptions.cpp
index d8e1c6f..ff3b597 100644
--- a/src/tests/TestExceptions.cpp
+++ b/src/tests/TestExceptions.cpp
@@ -156,6 +156,18 @@
     CHECK(strstr(reporter.lastFailedMessage, "1.0001f"));
 }
 
+TEST(CheckCloseFailureBecauseOfStandardExceptionIncludesWhat)
+{
+    RecordingReporter reporter;
+    {
+        UnitTest::TestResults testResults(&reporter);
+        ScopedCurrentTest scopedResults(testResults);
+        CHECK_CLOSE((float)ThrowingFunction(), 1.0001f, 0.1f);
+    }
+
+    CHECK(strstr(reporter.lastFailedMessage, "exception (Doh)"));
+}
+
 class ThrowingObject
 {
 public: