OSDN Git Service

comHelper.getActiveObject: Raise RuntimeError when the helper process fails instead...
authorJames Teh <jamie@jantrid.net>
Wed, 3 Apr 2013 04:36:52 +0000 (14:36 +1000)
committerJames Teh <jamie@jantrid.net>
Wed, 3 Apr 2013 04:36:52 +0000 (14:36 +1000)
source/comHelper.py

index dde0cce..4ca00f8 100644 (file)
@@ -37,8 +37,10 @@ def getActiveObject(progid, dynamic=False):
        p = subprocess.Popen((config.SLAVE_FILENAME, "comGetActiveObject", progid, "%d" % dynamic),\r
                stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\r
        try:\r
-               # FIXME: Throw better exception for COM error in slave.\r
-               lres = int(p.stdout.readline())\r
+               try:\r
+                       lres = int(p.stdout.readline())\r
+               except ValueError:\r
+                       raise RuntimeError("Helper process unable to get object; see log for details")\r
                o = oleacc.ObjectFromLresult(lres, 0,\r
                        IDispatch if dynamic else IUnknown)\r
                if dynamic:\r