From 9b408ee06ec8fd8df56861188bd385c874552887 Mon Sep 17 00:00:00 2001
From: David Abram Cargill <cargilld@apache.org>
Date: Wed, 27 Jul 2005 14:02:19 +0000
Subject: [PATCH] Update loadAMsgSet routines to have consisent behaviour.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@225516 13f79535-47bb-0310-9956-ffa450edef68
---
 .../Platforms/MacOS/MacOSPlatformUtils.cpp    | 20 ++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp b/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp
index 04ce19381..f4d603ed0 100644
--- a/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp
+++ b/src/xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp
@@ -57,6 +57,7 @@
 #include <xercesc/util/Platforms/MacOS/MacCarbonFile.hpp>
 #include <xercesc/util/Platforms/MacOS/MacPosixFile.hpp>
 #include <xercesc/util/PanicHandler.hpp>
+#include <xercesc/util/OutOfMemoryException.hpp>
 
 #if (defined(XML_USE_INMEMORY_MSGLOADER) || defined(XML_USE_INMEM_MESSAGELOADER))
    #include <xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp>
@@ -608,12 +609,25 @@ XMLPlatformUtils::makeNetAccessor()
 XMLMsgLoader*
 XMLPlatformUtils::loadAMsgSet(const XMLCh* const msgDomain)
 {
+    XMLMsgLoader* retVal;
+    try
+    {
 #if (defined(XML_USE_INMEMORY_MSGLOADER) || defined(XML_USE_INMEM_MESSAGELOADER))
-    return new (fgMemoryManager) InMemMsgLoader(msgDomain);
+        retVal = new (fgMemoryManager) InMemMsgLoader(msgDomain);
 #else
-    #error You must provide a message loader
-    return 0;
+        #error You must provide a message loader
+        return 0;
 #endif
+    }
+    catch(const OutOfMemoryException&)
+    {
+        throw;
+    }
+    catch(...)
+    {
+         panic(PanicHandler::Panic_CantLoadMsgDomain);
+    }
+    return retVal;
 }
 
 
-- 
GitLab