diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py
index 881423affc2fd68cc79774a01f663351ec442cdd..dc8e1351770c62cb99a93c89b2e65b87e8522595 100644
--- a/product/CMFActivity/Activity/SQLDict.py
+++ b/product/CMFActivity/Activity/SQLDict.py
@@ -305,7 +305,7 @@ class SQLDict(RAMDict):
             break
         else:
           get_transaction().abort()
-      except:
+      except Exception, exc:
         # If an exception occurs, abort the transaction to minimize the impact,
         try:
           get_transaction().abort()
@@ -313,7 +313,7 @@ class SQLDict(RAMDict):
           # Unfortunately, database adapters may raise an exception against abort.
           LOG('SQLDict', WARNING, 'abort failed, thus some objects may be modified accidentally')
           pass
-        if issubclass(sys.exc_info()[0], ConflictError):
+        if issubclass(exc, ConflictError):
           # For a conflict error, simply delay the operations.
           for uid_list in uid_list_list:
             if len(uid_list):
diff --git a/product/CMFActivity/Activity/SQLQueue.py b/product/CMFActivity/Activity/SQLQueue.py
index b7e5238777f61afe9f7e9bcbdf8a747e7304e57d..6bbe52a175d28fb02c8f0d8e6af44d0720580edb 100644
--- a/product/CMFActivity/Activity/SQLQueue.py
+++ b/product/CMFActivity/Activity/SQLQueue.py
@@ -125,7 +125,7 @@ class SQLQueue(RAMQueue):
         activity_tool.invoke(m) # Try to invoke the message
         if m.is_executed:                                          # Make sure message could be invoked
           get_transaction().commit()                                        # If successful, commit
-      except:
+      except Exception, exc:
         # If an exception occurs, abort the transaction to minimize the impact,
         try:
           get_transaction().abort()
@@ -134,7 +134,7 @@ class SQLQueue(RAMQueue):
           LOG('SQLQueue', WARNING, 'abort failed, thus some objects may be modified accidentally')
           pass
 
-        if issubclass(sys.exc_info()[0], ConflictError):
+        if issubclass(exc, ConflictError):
           # If a conflict occurs, delay the operation.
           activity_tool.SQLQueue_setPriority(uid = line.uid, date = next_processing_date,
                                              priority = line.priority)