Index: src/libchcore/TSpeedTracker.cpp
===================================================================
diff -u -N -ra380f7b2ae7d8fe6121e2d0a026b98ee2248c8b5 -re8f31b0f922b402878356e130c866c4f3682a7f5
--- src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision a380f7b2ae7d8fe6121e2d0a026b98ee2248c8b5)
+++ src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
@@ -20,8 +20,10 @@
 		m_ullLastTimestamp(std::numeric_limits<unsigned long long>::max()),
 		m_ullZeroIntervalData(0)
 	{
-		if (m_ullSampleTime == 0 || m_stRequiredSamples == 0)
-			THROW_CORE_EXCEPTION(eErr_InvalidArgument);
+		if(ullSampleTime == 0)
+			throw TCoreException(eErr_InvalidArgument, L"ullSampleTime", LOCATION);
+		if(m_stRequiredSamples == 0)
+			throw TCoreException(eErr_InvalidArgument, L"m_stRequiredSamples", LOCATION);
 		std::fill_n(std::inserter(m_vSamples, m_vSamples.end()), m_stRequiredSamples, 0.0);
 	}
 
@@ -47,7 +49,7 @@
 
 		// sanity check - make sure the data is valid
 		if (ullTimestamp < m_ullLastTimestamp)
-			THROW_CORE_EXCEPTION(eErr_InvalidArgument);
+			throw TCoreException(eErr_InvalidArgument, L"ullTimestamp", LOCATION);
 
 		// calculate the interval since the time last sample was added
 		unsigned long long ullInterval = ullTimestamp - m_ullLastTimestamp;
@@ -213,7 +215,7 @@
 
 		const size_t SerializedMembers = 4;
 		if (arrStrings.GetCount() != m_stRequiredSamples + SerializedMembers)
-			THROW_CORE_EXCEPTION(eErr_InvalidArgument);
+			throw TCoreException(eErr_InvalidArgument, L"strData", LOCATION);
 
 		Clear();