]> git.sesse.net Git - casparcg/commitdiff
Catch CG command exceptions.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 23 Dec 2011 12:48:37 +0000 (12:48 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 23 Dec 2011 12:48:37 +0000 (12:48 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/trunk@1929 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

protocol/amcp/AMCPCommandsImpl.cpp

index e4aba41249aadd134f13b62db9672dc3acd5086c..dbcc1f92268128c2d5dc161b4f962d1154b1f1b8 100644 (file)
@@ -885,25 +885,32 @@ bool LogCommand::DoExecute()
 \r
 bool CGCommand::DoExecute()\r
 {\r
-       std::wstring command = _parameters[0];\r
-       if(command == TEXT("ADD"))\r
-               return DoExecuteAdd();\r
-       else if(command == TEXT("PLAY"))\r
-               return DoExecutePlay();\r
-       else if(command == TEXT("STOP"))\r
-               return DoExecuteStop();\r
-       else if(command == TEXT("NEXT"))\r
-               return DoExecuteNext();\r
-       else if(command == TEXT("REMOVE"))\r
-               return DoExecuteRemove();\r
-       else if(command == TEXT("CLEAR"))\r
-               return DoExecuteClear();\r
-       else if(command == TEXT("UPDATE"))\r
-               return DoExecuteUpdate();\r
-       else if(command == TEXT("INVOKE"))\r
-               return DoExecuteInvoke();\r
-       else if(command == TEXT("INFO"))\r
-               return DoExecuteInfo();\r
+       try\r
+       {\r
+               std::wstring command = _parameters[0];\r
+               if(command == TEXT("ADD"))\r
+                       return DoExecuteAdd();\r
+               else if(command == TEXT("PLAY"))\r
+                       return DoExecutePlay();\r
+               else if(command == TEXT("STOP"))\r
+                       return DoExecuteStop();\r
+               else if(command == TEXT("NEXT"))\r
+                       return DoExecuteNext();\r
+               else if(command == TEXT("REMOVE"))\r
+                       return DoExecuteRemove();\r
+               else if(command == TEXT("CLEAR"))\r
+                       return DoExecuteClear();\r
+               else if(command == TEXT("UPDATE"))\r
+                       return DoExecuteUpdate();\r
+               else if(command == TEXT("INVOKE"))\r
+                       return DoExecuteInvoke();\r
+               else if(command == TEXT("INFO"))\r
+                       return DoExecuteInfo();\r
+       }\r
+       catch(...)\r
+       {\r
+               CASPAR_LOG_CURRENT_EXCEPTION();\r
+       }\r
 \r
        SetReplyString(TEXT("403 CG ERROR\r\n"));\r
        return false;\r