Update historical dst offset for timezone.
[platform/framework/native/appfw.git] / src / locales / FLcl_NumberFormatterImpl.cpp
index ec564df..a8f606f 100644 (file)
@@ -82,23 +82,18 @@ _NumberFormatterImpl::CreateNumberFormatterN(const Locale& locale, NumberFormatt
 
        UErrorCode ec = U_ZERO_ERROR;
        std::unique_ptr<IcuNumberFormat> pIcuNumberFormatter(IcuNumberFormat::createInstance(icuLocale, icuStyle, ec));
-       if (pIcuNumberFormatter)
-       {
-               IcuDecimalFormat* pDecimalFmt = dynamic_cast<IcuDecimalFormat*>(pIcuNumberFormatter.get());
-               if (pDecimalFmt)
-               {
-                       pIcuNumberFormatter.release();
-                       pNumberFormatterImpl->__pIcuNumberFormatter = pDecimalFmt;
-                       pNumberFormatterImpl->__currency.Construct(locale);
-                       pNewFormatter->__pNumberFormatterImpl = pNumberFormatterImpl.release();
+       SysTryReturn(NID_LCL, pIcuNumberFormatter, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed");
 
-                       SetLastResult(E_SUCCESS);
-                       return pNewFormatter.release();
-               }
-       }
+       IcuDecimalFormat* pDecimalFmt = dynamic_cast<IcuDecimalFormat*>(pIcuNumberFormatter.get());
+       SysTryReturn(NID_LCL, pDecimalFmt, null, E_SYSTEM, "It is failed to get fomatter.");
+
+       pIcuNumberFormatter.release();
+       pNumberFormatterImpl->__pIcuNumberFormatter = pDecimalFmt;
+       pNumberFormatterImpl->__currency.Construct(locale);
+       pNewFormatter->__pNumberFormatterImpl = pNumberFormatterImpl.release();
 
-       SetLastResult(E_INVALID_ARG);
-       return null;
+       SetLastResult(E_SUCCESS);
+       return pNewFormatter.release();
 }
 
 result