[ScreenMirroring] Add Exception checking
authorHyunsoo, Park <hance.park@samsung.com>
Fri, 31 Mar 2017 01:23:48 +0000 (10:23 +0900)
committerHyunsoo, Park <hance.park@samsung.com>
Mon, 3 Apr 2017 06:33:07 +0000 (15:33 +0900)
Before this patch, ScreenMirroringErrorFactory checked 'InvalidOperation' only.
After applying this patch, it will check 3 more exception below.
-OutOfMemoryException
-NotSupportedException
-UnauthorizedAccessException

Change-Id: I1a819f15cca7f6bcd7603f3cb8db202a9c119c78
Signed-off-by: Hyunsoo, Park <hance.park@samsung.com>
packaging/csapi-multimedia.spec
src/Tizen.Multimedia/ScreenMirroring/ScreenMirroringErrorFactory.cs

index a3ab59e..022257c 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       csapi-multimedia
 Summary:    Tizen Multimedia API for C#
-Version:    1.0.49
+Version:    1.0.50
 Release:    0
 Group:      Development/Libraries
 License:    Apache-2.0
index 6c23f75..8a3ff19 100755 (executable)
@@ -31,26 +31,42 @@ namespace Tizen.Multimedia
     };
     public class ScreenMirroringErrorFactory
     {
-        internal static void ThrowException(int errorCode, string errorMessage = null, string paramName = null)
+        private const string LogTag = "Tizen.Multimedia.ScreenMirroring";
+        internal static void ThrowException(int errorCode, string errorMessage = null)
         {
             ScreenMirroringError err = (ScreenMirroringError)errorCode;
+
+            if (err == ScreenMirroringError.None)
+            {
+                return;
+            }
+
+            Log.Error(LogTag,"errorCode is : " + errorCode);
             if (string.IsNullOrEmpty(errorMessage))
             {
                 errorMessage = err.ToString();
             }
 
-            switch ((ScreenMirroringError)errorCode)
+            switch (err)
             {
                 case ScreenMirroringError.InvalidParameter:
-                throw new ArgumentException(errorMessage, paramName);
+                    throw new ArgumentException(errorMessage);
 
                 case ScreenMirroringError.OutOfMemory:
-                case ScreenMirroringError.InvalidOperation:
-                case ScreenMirroringError.ConnectionTimeOut:
+                    throw new OutOfMemoryException(errorMessage);
+
                 case ScreenMirroringError.PermissionDenied:
+                    throw new UnauthorizedAccessException(errorMessage);
+
                 case ScreenMirroringError.NotSupported:
-                case ScreenMirroringError.Unknown:
-                throw new InvalidOperationException(errorMessage);
+                    throw new NotSupportedException(errorMessage);
+
+                case ScreenMirroringError.ConnectionTimeOut:
+                case ScreenMirroringError.InvalidOperation:
+                    throw new InvalidOperationException(errorMessage);
+
+                default:
+                    throw new Exception("Unknown error : " + errorCode);
             }
         }
     }