[mapguide-commits] r6180 - trunk/MgDev/Server/src/Services/Feature

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Oct 21 03:21:08 EDT 2011


Author: hubu
Date: 2011-10-21 00:21:08 -0700 (Fri, 21 Oct 2011)
New Revision: 6180

Modified:
   trunk/MgDev/Server/src/Services/Feature/JoinFeatureReader.cpp
   trunk/MgDev/Server/src/Services/Feature/ServerDataReader.cpp
   trunk/MgDev/Server/src/Services/Feature/ServerFdoFeatureReader.cpp
   trunk/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp
   trunk/MgDev/Server/src/Services/Feature/ServerGwsFeatureReader.cpp
   trunk/MgDev/Server/src/Services/Feature/ServerSqlDataReader.cpp
Log:
Fix ticket: http://trac.osgeo.org/mapguide/ticket/1766
As we discussed in MapGuide Internal, we should not replace the isnull check with the try/catch. Since the null property is very common for database. Instead, we replace the isnull check with try/catch for GetGeometry.
This submission revert the revision #6024.

Modified: trunk/MgDev/Server/src/Services/Feature/JoinFeatureReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/JoinFeatureReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/JoinFeatureReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -66,22 +66,17 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetBoolean");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetBoolean(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = gwsFeatureIter->GetBoolean(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetBoolean");
@@ -101,23 +96,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetByte");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetByte(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = gwsFeatureIter->GetByte(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetByte");
 
@@ -136,23 +124,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetDateTime");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        val = gwsFeatureIter->GetDateTime(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        val = gwsFeatureIter->GetDateTime(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetDateTime");
 
@@ -171,23 +152,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetDouble");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetDouble(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = gwsFeatureIter->GetDouble(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetDouble");
 
@@ -206,23 +180,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetInt16");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT16)gwsFeatureIter->GetInt16(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = (INT16)gwsFeatureIter->GetInt16(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetInt16");
 
@@ -241,23 +208,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetInt32");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT32)gwsFeatureIter->GetInt32(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = (INT32)gwsFeatureIter->GetInt32(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetInt32");
 
@@ -276,23 +236,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetInt64");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT64)gwsFeatureIter->GetInt64(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = (INT64)gwsFeatureIter->GetInt64(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetInt64");
 
@@ -311,24 +264,17 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetSingle");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetSingle(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+    else
+        retVal = gwsFeatureIter->GetSingle(parsedPropertyName.c_str());
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-        }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetSingle");
 
     return retVal;
@@ -346,23 +292,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetString");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetString(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = gwsFeatureIter->GetString(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetString");
 
@@ -381,23 +320,16 @@
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgJoinFeatureReader.GetString");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetLOB(parsedPropertyName.c_str());
-    }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgJoinFeatureReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+        retVal = gwsFeatureIter->GetLOB(parsedPropertyName.c_str());
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgJoinFeatureReader.GetLOB");
 

Modified: trunk/MgDev/Server/src/Services/Feature/ServerDataReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerDataReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/ServerDataReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -312,22 +312,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_dataReader->GetBoolean(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_dataReader->GetBoolean(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetBoolean");
@@ -350,26 +345,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = m_dataReader->GetBoolean(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_dataReader->GetBoolean(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetBoolean");
 
@@ -391,22 +381,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = (BYTE)m_dataReader->GetByte(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (BYTE)m_dataReader->GetByte(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetByte");
@@ -429,26 +414,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = (BYTE)m_dataReader->GetByte(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (BYTE)m_dataReader->GetByte(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetByte");
 
@@ -471,26 +451,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = m_dataReader->GetDateTime(propertyName.c_str());
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                             (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetDateTime");
 
     return retVal.Detach();
@@ -511,29 +486,24 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = m_dataReader->GetDateTime(index);
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                             (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetDateTime");
 
     return retVal.Detach();
@@ -554,22 +524,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_dataReader->GetSingle(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_dataReader->GetSingle(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetSingle");
@@ -592,26 +557,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = m_dataReader->GetSingle(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_dataReader->GetSingle(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetSingle");
 
@@ -633,22 +593,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_dataReader->GetDouble(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_dataReader->GetDouble(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetDouble");
@@ -671,26 +626,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = m_dataReader->GetDouble(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_dataReader->GetDouble(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetDouble");
 
@@ -712,22 +662,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT16)m_dataReader->GetInt16(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT16)m_dataReader->GetInt16(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt16");
@@ -750,26 +695,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = (INT16)m_dataReader->GetInt16(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT16)m_dataReader->GetInt16(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt16");
 
@@ -791,22 +731,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT32)m_dataReader->GetInt32(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT32)m_dataReader->GetInt32(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt32");
@@ -829,26 +764,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = (INT32)m_dataReader->GetInt32(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT32)m_dataReader->GetInt32(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt32");
 
@@ -872,22 +802,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT64)m_dataReader->GetInt64(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT64)m_dataReader->GetInt64(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt64");
@@ -912,26 +837,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        retVal = (INT64)m_dataReader->GetInt64(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT64)m_dataReader->GetInt64(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetInt64");
 
@@ -953,8 +873,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         INT32 length = 0;
         const wchar_t* str = this->GetString(propertyName.c_str(), length);
         if (str != NULL)
@@ -962,20 +890,7 @@
             retVal = str;
         }
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
 
     return retVal;
@@ -996,17 +911,6 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
-    {
-        INT32 length = 0;
-        const wchar_t* str = this->GetString(index, length);
-        if (str != NULL)
-        {
-            retVal = str;
-        }
-    }
-    catch(...)
-    {
     if(m_dataReader->IsNull(index))
     {
         STRING buffer;
@@ -1019,7 +923,13 @@
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
-        throw;
+    {
+        INT32 length = 0;
+        const wchar_t* str = this->GetString(index, length);
+        if (str != NULL)
+        {
+            retVal = str;
+        }
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
@@ -1042,22 +952,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        byteReader = this->GetLOB(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        byteReader = this->GetLOB(propertyName);
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetBLOB");
@@ -1080,26 +985,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        byteReader = this->GetLOB(index);
-    }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        byteReader = this->GetLOB(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetBLOB");
 
@@ -1121,22 +1021,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
-        byteReader = this->GetLOB(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        byteReader = this->GetLOB(propertyName);
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetCLOB");
@@ -1159,27 +1054,22 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
-        byteReader = this->GetLOB(index);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        byteReader = this->GetLOB(index);
+    }
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-        }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetCLOB");
 
     return byteReader.Detach();
@@ -1412,8 +1302,16 @@
 
     Ptr<MgByteReader> retVal;
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         // TODO: We need to switch to FdoIStreamReader when we have streaming capability in MgByteReader
         FdoPtr<FdoLOBValue> fdoVal = m_dataReader->GetLOB(propertyName.c_str());
         if (fdoVal != NULL)
@@ -1432,20 +1330,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     return retVal.Detach();
 }
 
@@ -1455,8 +1340,19 @@
 
     Ptr<MgByteReader> retVal;
 
-    try
+    if(m_dataReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         // TODO: We need to switch to FdoIStreamReader when we have streaming capability in MgByteReader
         FdoPtr<FdoLOBValue> fdoVal = m_dataReader->GetLOB(index);
         if (fdoVal != NULL)
@@ -1475,23 +1371,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     return retVal.Detach();
 }
 
@@ -1685,28 +1565,23 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = m_dataReader->GetString(propertyName.c_str());
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
 
     return ((const wchar_t*)retVal);
@@ -1727,31 +1602,26 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_dataReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = m_dataReader->GetString(index);
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(m_dataReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
 
     return ((const wchar_t*)retVal);

Modified: trunk/MgDev/Server/src/Services/Feature/ServerFdoFeatureReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerFdoFeatureReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/ServerFdoFeatureReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -250,22 +250,17 @@
 ///
 FdoIFeatureReader* MgServerFdoFeatureReader::GetFeatureObject(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetFeatureObject(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetFeatureObject(propertyName);
     }
 }
 
@@ -282,26 +277,21 @@
 ///
 FdoIFeatureReader* MgServerFdoFeatureReader::GetFeatureObject(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetFeatureObject(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetFeatureObject(index);
+    }
 }
 
 /// \brief
@@ -317,22 +307,17 @@
 ///
 bool MgServerFdoFeatureReader::GetBoolean(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetBoolean(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetBoolean(propertyName);
     }
 }
 
@@ -349,26 +334,21 @@
 ///
 bool MgServerFdoFeatureReader::GetBoolean(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetBoolean(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetBoolean(index);
+    }
 }
 
 /// \brief
@@ -384,22 +364,17 @@
 ///
 FdoByte MgServerFdoFeatureReader::GetByte(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetByte(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetByte(propertyName);
     }
 }
 
@@ -416,26 +391,21 @@
 ///
 FdoByte MgServerFdoFeatureReader::GetByte(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetByte(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetByte(index);
+    }
 }
 
 /// \brief
@@ -451,22 +421,17 @@
 ///
 FdoDateTime MgServerFdoFeatureReader::GetDateTime(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetDateTime(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetDateTime(propertyName);
     }
 }
 
@@ -483,26 +448,21 @@
 ///
 FdoDateTime MgServerFdoFeatureReader::GetDateTime(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetDateTime(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetDateTime(index);
+    }
 }
 
 /// \brief
@@ -518,22 +478,17 @@
 ///
 double MgServerFdoFeatureReader::GetDouble(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetDouble(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetDouble(propertyName);
     }
 }
 
@@ -550,26 +505,21 @@
 ///
 double MgServerFdoFeatureReader::GetDouble(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetDouble(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetDouble(index);
+    }
 }
 
 /// \brief
@@ -585,22 +535,17 @@
 ///
 FdoInt16 MgServerFdoFeatureReader::GetInt16(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetInt16(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetInt16(propertyName);
     }
 }
 
@@ -617,26 +562,21 @@
 ///
 FdoInt16 MgServerFdoFeatureReader::GetInt16(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetInt16(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetInt16(index);
+    }
 }
 
 /// \brief
@@ -652,22 +592,17 @@
 ///
 FdoInt32 MgServerFdoFeatureReader::GetInt32(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetInt32(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetInt32(propertyName);
     }
 }
 
@@ -684,26 +619,21 @@
 ///
 FdoInt32 MgServerFdoFeatureReader::GetInt32(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetInt32(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetInt32(index);
+    }
 }
 
 /// \brief
@@ -719,22 +649,17 @@
 ///
 FdoInt64 MgServerFdoFeatureReader::GetInt64(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetInt64(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetInt64(propertyName);
     }
 }
 
@@ -751,26 +676,21 @@
 ///
 FdoInt64 MgServerFdoFeatureReader::GetInt64(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetInt64(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-     }
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
+        return m_internalReader->GetInt64(index);
+    }
 }
 
 /// \brief
@@ -786,22 +706,17 @@
 ///
 float MgServerFdoFeatureReader::GetSingle(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetSingle(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetSingle(propertyName);
     }
 }
 
@@ -818,26 +733,21 @@
 ///
 float MgServerFdoFeatureReader::GetSingle(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetSingle(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetSingle(index);
+    }
 }
 
 /// \brief
@@ -853,22 +763,17 @@
 ///
 FdoString* MgServerFdoFeatureReader::GetString(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetString(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetString(propertyName);
     }
 }
 
@@ -885,26 +790,21 @@
 ///
 FdoString* MgServerFdoFeatureReader::GetString(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetString(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetString(index);
+    }
 }
 
 /// \brief
@@ -920,22 +820,17 @@
 ///
 FdoLOBValue* MgServerFdoFeatureReader::GetLOB(FdoString* propertyName)
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetLOB(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetLOB(propertyName);
     }
 }
 
@@ -953,26 +848,21 @@
 ///
 FdoLOBValue* MgServerFdoFeatureReader::GetLOB(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetLOB(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetLOB(index);
+    }
 }
 
 /// \brief
@@ -990,22 +880,17 @@
 ///
 FdoIStreamReader* MgServerFdoFeatureReader::GetLOBStreamReader(const wchar_t* propertyName )
 {
-    try
+    if(m_internalReader->IsNull(propertyName))
     {
-        return m_internalReader->GetLOBStreamReader(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOBStreamReader",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_internalReader->IsNull(propertyName))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOBStreamReader",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        return m_internalReader->GetLOBStreamReader(propertyName);
     }
 }
 
@@ -1025,26 +910,21 @@
 ///
 FdoIStreamReader* MgServerFdoFeatureReader::GetLOBStreamReader(FdoInt32 index)
 {
-    try
+    if(m_internalReader->IsNull(index))
     {
-        return m_internalReader->GetLOBStreamReader(index);
-    }
-    catch(...)
-    {
-        if(m_internalReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOBStreamReader",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetLOBStreamReader",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        return m_internalReader->GetLOBStreamReader(index);
+    }
 }
 
 /// \brief

Modified: trunk/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -222,22 +222,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_fdoReader->GetBoolean(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_fdoReader->GetBoolean(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetBoolean");
@@ -262,22 +257,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = (BYTE)m_fdoReader->GetByte(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (BYTE)m_fdoReader->GetByte(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetByte");
@@ -302,26 +292,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = m_fdoReader->GetDateTime(propertyName.c_str());
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                                 (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetDateTime");
 
     return retVal.Detach();
@@ -344,22 +329,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_fdoReader->GetSingle(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_fdoReader->GetSingle(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetSingle");
@@ -384,22 +364,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_fdoReader->GetDouble(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-       if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_fdoReader->GetDouble(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetDouble");
@@ -424,22 +399,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT16)m_fdoReader->GetInt16(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT16)m_fdoReader->GetInt16(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetInt16");
@@ -464,22 +434,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT32)m_fdoReader->GetInt32(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT32)m_fdoReader->GetInt32(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetInt32");
@@ -506,22 +471,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT64)m_fdoReader->GetInt64(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT64)m_fdoReader->GetInt64(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetInt64");
@@ -546,8 +506,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         INT32 length = 0;
         const wchar_t* str = this->GetString(propertyName.c_str(), length);
         if (str != NULL)
@@ -555,20 +523,7 @@
             retVal = str;
         }
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetString");
 
     return retVal;
@@ -591,8 +546,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoPtr<FdoLOBValue> fdoVal = m_fdoReader->GetLOB(propertyName.c_str());
         if (fdoVal != NULL)
         {
@@ -606,20 +569,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetBLOB");
 
     return byteReader.Detach();
@@ -642,8 +592,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoPtr<FdoLOBValue> fdoVal = m_fdoReader->GetLOB(propertyName.c_str());
         if (fdoVal != NULL)
         {
@@ -657,20 +615,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetCLOB");
 
     return byteReader.Detach();
@@ -694,8 +639,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoPtr<FdoIFeatureReader> featureObjectReader = m_fdoReader->GetFeatureObject(propertyName.c_str());
 
         if (featureObjectReader != NULL)
@@ -704,20 +657,7 @@
             featureReader = new MgServerFeatureReader(m_connection, featureObjectReader);
         }
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFdoFeatureReader.GetFeatureObject",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetFeatureObject");
 
     return featureReader.Detach();
@@ -1029,28 +969,23 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_fdoReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = m_fdoReader->GetString(propertyName.c_str());
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(m_fdoReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.GetString");
 
     return ((const wchar_t*)retVal);

Modified: trunk/MgDev/Server/src/Services/Feature/ServerGwsFeatureReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerGwsFeatureReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/ServerGwsFeatureReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -504,22 +504,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetBoolean");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetBoolean(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = gwsFeatureIter->GetBoolean(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetBoolean");
@@ -546,22 +541,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetByte");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (BYTE)gwsFeatureIter->GetByte(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (BYTE)gwsFeatureIter->GetByte(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetByte");
@@ -588,26 +578,21 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetDateTime");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = gwsFeatureIter->GetDateTime(parsedPropertyName.c_str());
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                                 (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetDateTime");
 
     return retVal.Detach();
@@ -632,22 +617,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetSingle");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetSingle(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = gwsFeatureIter->GetSingle(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetSingle");
@@ -674,22 +654,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetDouble");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = gwsFeatureIter->GetDouble(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = gwsFeatureIter->GetDouble(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetDouble");
@@ -716,22 +691,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetInt16");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT16)gwsFeatureIter->GetInt16(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT16)gwsFeatureIter->GetInt16(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetInt16");
@@ -758,24 +728,19 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetInt32");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT32)gwsFeatureIter->GetInt32(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
+        retVal = (INT32)gwsFeatureIter->GetInt32(parsedPropertyName.c_str());
+    }
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-        }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetInt32");
 
     return retVal;
@@ -802,22 +767,17 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetInt64");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
-        retVal = (INT64)gwsFeatureIter->GetInt64(parsedPropertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT64)gwsFeatureIter->GetInt64(parsedPropertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetInt64");
@@ -844,28 +804,23 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetString");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoString* str = gwsFeatureIter->GetString(parsedPropertyName.c_str());
         if (str != NULL)
         {
             retVal = str;
         }
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetString");
 
     return retVal;
@@ -890,8 +845,16 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetBLOB");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoPtr<FdoLOBValue> fdoVal = gwsFeatureIter->GetLOB(parsedPropertyName.c_str());
         if (fdoVal != NULL)
         {
@@ -905,20 +868,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetBLOB");
 
     return byteReader.Detach();
@@ -943,8 +893,16 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetCLOB");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoPtr<FdoLOBValue> fdoVal = gwsFeatureIter->GetLOB(parsedPropertyName.c_str());
         if (fdoVal != NULL)
         {
@@ -958,20 +916,7 @@
             }
         }
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetCLOB");
 
     return byteReader.Detach();
@@ -1432,28 +1377,23 @@
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
     CHECKNULL(gwsFeatureIter, L"MgServerGwsFeatureReader.GetString");
 
-    try
+    if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = gwsFeatureIter->GetString(parsedPropertyName.c_str());
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerGwsFeatureReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerGwsFeatureReader.GetString");
 
     return ((const wchar_t*)retVal);

Modified: trunk/MgDev/Server/src/Services/Feature/ServerSqlDataReader.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerSqlDataReader.cpp	2011-10-20 02:38:34 UTC (rev 6179)
+++ trunk/MgDev/Server/src/Services/Feature/ServerSqlDataReader.cpp	2011-10-21 07:21:08 UTC (rev 6180)
@@ -297,22 +297,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_sqlReader->GetBoolean(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_sqlReader->GetBoolean(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetBoolean");
@@ -335,26 +330,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = m_sqlReader->GetBoolean(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBoolean",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBoolean",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_sqlReader->GetBoolean(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetBoolean");
 
@@ -376,22 +366,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = (BYTE)m_sqlReader->GetByte(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (BYTE)m_sqlReader->GetByte(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetByte");
@@ -414,26 +399,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = (BYTE)m_sqlReader->GetByte(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetByte",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetByte",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (BYTE)m_sqlReader->GetByte(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetByte");
 
@@ -455,26 +435,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = m_sqlReader->GetDateTime(propertyName.c_str());
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                                 (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetDateTime");
 
     return retVal.Detach();
@@ -495,29 +470,24 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDateTime",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         FdoDateTime val = m_sqlReader->GetDateTime(index);
         retVal = new MgDateTime((INT16)val.year, (INT8)val.month, (INT8)val.day,
                                 (INT8)val.hour, (INT8)val.minute, val.seconds);
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDateTime",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetDateTime");
 
     return retVal.Detach();
@@ -539,22 +509,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_sqlReader->GetSingle(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_sqlReader->GetSingle(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetSingle");
@@ -577,26 +542,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = m_sqlReader->GetSingle(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetSingle",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetSingle",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_sqlReader->GetSingle(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetSingle");
 
@@ -618,22 +578,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = m_sqlReader->GetDouble(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = m_sqlReader->GetDouble(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetDouble");
@@ -656,26 +611,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = m_sqlReader->GetDouble(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDouble",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetDouble",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = m_sqlReader->GetDouble(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetDouble");
 
@@ -697,22 +647,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT16)m_sqlReader->GetInt16(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT16)m_sqlReader->GetInt16(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt16");
@@ -735,26 +680,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = (INT16)m_sqlReader->GetInt16(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt16",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt16",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT16)m_sqlReader->GetInt16(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt16");
 
@@ -776,22 +716,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT32)m_sqlReader->GetInt32(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT32)m_sqlReader->GetInt32(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt32");
@@ -814,26 +749,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = (INT32)m_sqlReader->GetInt32(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt32",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt32",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT32)m_sqlReader->GetInt32(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt32");
 
@@ -857,22 +787,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        retVal = (INT64)m_sqlReader->GetInt64(propertyName.c_str());
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        retVal = (INT64)m_sqlReader->GetInt64(propertyName.c_str());
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt64");
@@ -897,26 +822,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        retVal = (INT64)m_sqlReader->GetInt64(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt64",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetInt64",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        retVal = (INT64)m_sqlReader->GetInt64(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetInt64");
 
@@ -938,8 +858,16 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         INT32 length = 0;
         const wchar_t* str = this->GetString(propertyName.c_str(), length);
         if (str != NULL)
@@ -947,20 +875,7 @@
             retVal = str;
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetString");
 
     return retVal;
@@ -981,8 +896,19 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         INT32 length = 0;
         const wchar_t* str = this->GetString(index, length);
         if (str != NULL)
@@ -990,23 +916,7 @@
             retVal = str;
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetString");
 
     return retVal;
@@ -1027,22 +937,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        byteReader = this->GetLOB(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        byteReader = this->GetLOB(propertyName);
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetBLOB");
@@ -1065,26 +970,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        byteReader = this->GetLOB(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetBLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        byteReader = this->GetLOB(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetBLOB");
 
@@ -1106,22 +1006,17 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
-        byteReader = this->GetLOB(propertyName);
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
-    catch(...)
+    else
     {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        byteReader = this->GetLOB(propertyName);
     }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetCLOB");
@@ -1144,26 +1039,21 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
-        byteReader = this->GetLOB(index);
-    }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
+        MgStringCollection arguments;
+        arguments.Add(buffer);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetCLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetCLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
     }
+    else
+    {
+        byteReader = this->GetLOB(index);
+    }
 
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerSqlDataReader.GetCLOB");
 
@@ -1276,8 +1166,16 @@
 
     Ptr<MgByteReader> byteReader;
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         // TODO: We need to switch to FdoIStreamReader when we have streaming capability in MgByteReader
         FdoPtr<FdoLOBValue> fdoVal = m_sqlReader->GetLOB(propertyName.c_str());
         if (fdoVal != NULL)
@@ -1295,19 +1193,6 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
     return byteReader.Detach();
 }
 
@@ -1317,8 +1202,19 @@
 
     Ptr<MgByteReader> byteReader;
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetLOB",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         // TODO: We need to switch to FdoIStreamReader when we have streaming capability in MgByteReader
         FdoPtr<FdoLOBValue> fdoVal = m_sqlReader->GetLOB(index);
         if (fdoVal != NULL)
@@ -1336,22 +1232,6 @@
             }
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
-
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetLOB",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
     return byteReader.Detach();
 }
 
@@ -1510,28 +1390,23 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(propertyName.c_str()))
     {
+        MgStringCollection arguments;
+        arguments.Add(propertyName);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = m_sqlReader->GetString(propertyName.c_str());
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(propertyName.c_str()))
-        {
-            MgStringCollection arguments;
-            arguments.Add(propertyName);
 
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
 
     return ((const wchar_t*)retVal);
@@ -1552,31 +1427,26 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    try
+    if(m_sqlReader->IsNull(index))
     {
+        STRING buffer;
+        MgUtil::Int32ToString(index, buffer);
+
+        MgStringCollection arguments;
+        arguments.Add(buffer);
+
+        throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
+            __LINE__, __WFILE__, &arguments, L"", NULL);
+    }
+    else
+    {
         retVal = m_sqlReader->GetString(index);
         if (retVal != NULL)
         {
             length = (INT32)wcslen((const wchar_t*)retVal);
         }
     }
-    catch(...)
-    {
-        if(m_sqlReader->IsNull(index))
-        {
-            STRING buffer;
-            MgUtil::Int32ToString(index, buffer);
 
-            MgStringCollection arguments;
-            arguments.Add(buffer);
-
-            throw new MgNullPropertyValueException(L"MgServerSqlDataReader.GetString",
-                __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-        else
-            throw;
-    }
-
     MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerDataReader.GetString");
 
     return ((const wchar_t*)retVal);



More information about the mapguide-commits mailing list