Salome HOME
CCAR: add SALOME exception in run
authorcaremoli <caremoli>
Wed, 21 Nov 2007 10:39:36 +0000 (10:39 +0000)
committercaremoli <caremoli>
Wed, 21 Nov 2007 10:39:36 +0000 (10:39 +0000)
src/PYCOMPO/PYCOMPO.py

index 3a11ad136bc4e888c25c2d529ccb57ca52488294..5d384fe04eb63692968f94ee554733bc817a0bd3 100644 (file)
@@ -2,6 +2,8 @@ import sys,traceback,os
 import DSCCODE__POA
 import calcium
 import dsccalcium
+import SALOME
+
 try:
   import numpy
 except:
@@ -26,27 +28,32 @@ class PYCOMPO(DSCCODE__POA.PYCOMPO,dsccalcium.PyDSCComponent):
 
   def run( self):
     print "PYCOMPO.run"
-    ndim=10
-
-    force=calcium.doubleArray(ndim)
-    for i in xrange(ndim):
-      force[i]=i
-    err=calcium.cp_edb(self.proxy,calcium.CP_ITERATION ,0.,1,"tabout",ndim,force)
-
-    if numpy:
-      val=numpy.zeros(ndim,'d')
-    else:
-      val=calcium.doubleArray(ndim)
-    err,t,i,nval=calcium.cp_ldb(self.proxy,calcium.CP_ITERATION,0.,0.,1,"tabin",ndim,val)
-    print err,t,i,nval
-    if numpy:
-      print val
-    else:
-      for i in xrange(ndim):
-        print val[i],
-      print
-
-    print "End of PYCOMPO.run"
-    sys.stdout.flush()
+    try:
+      ndim=10
 
+      force=calcium.doubleArray(ndim)
+      for i in xrange(ndim):
+        force[i]=i
+      err=calcium.cp_edb(self.proxy,calcium.CP_ITERATION ,0.,1,"tabout",ndim,force)
+
+      if numpy:
+        val=numpy.zeros(ndim,'d')
+      else:
+        val=calcium.doubleArray(ndim)
+      err,t,i,nval=calcium.cp_ldb(self.proxy,calcium.CP_ITERATION,0.,0.,1,"tabin",ndim,val)
+      print err,t,i,nval
+      if numpy:
+        print val
+      else:
+        for i in xrange(ndim):
+          print val[i],
+        print
+
+      print "End of PYCOMPO.run"
+      sys.stdout.flush()
+    except:
+      sys.stdout.flush()
+      typ,exc_val,exc_fr=sys.exc_info()
+      l=traceback.format_exception(exc_typ,exc_val,exc_fr)
+      raise SALOME.SALOME_Exception(SALOME.ExceptionStruct(SALOME.BAD_PARAM,"".join(l),"PYCOMPO.py",0))