summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2018-09-28 07:00:11 -0500
committerJason Madden <jamadden@gmail.com>2018-09-28 07:00:11 -0500
commit2b68d749272cb1fcbe10ad02eab9e9bdb9ff8f0d (patch)
tree92de4e2f84f6709ee8826d541eff5ffc53d049c9
parent43ff10a5e36733baf521f232792f9847265fe723 (diff)
downloadzope-configuration-2b68d749272cb1fcbe10ad02eab9e9bdb9ff8f0d.tar.gz
Simplify the catch block in execute_actions.
-rw-r--r--src/zope/configuration/config.py26
-rw-r--r--src/zope/configuration/xmlconfig.py7
2 files changed, 12 insertions, 21 deletions
diff --git a/src/zope/configuration/config.py b/src/zope/configuration/config.py
index 1baf5b3..643ff2c 100644
--- a/src/zope/configuration/config.py
+++ b/src/zope/configuration/config.py
@@ -764,23 +764,15 @@ class ConfigurationMachine(ConfigurationAdapterRegistry, ConfigurationContext):
info = action['info']
try:
callable(*args, **kw)
- except BaseException as ex:
- try:
- if isinstance(ex, ConfigurationError):
- ex.append_details(info)
- raise
- if isinstance(ex, pass_through_exceptions):
- raise
- if not isinstance(ex, Exception):
- # BaseException
- raise
-
- # Wrap it up and raise.
- reraise(ConfigurationExecutionError(info, ex),
- None, sys.exc_info()[2])
- finally:
- del ex
-
+ except ConfigurationError as ex:
+ ex.append_details(info)
+ raise
+ except pass_through_exceptions:
+ raise
+ except Exception:
+ # Wrap it up and raise.
+ reraise(ConfigurationExecutionError(info, sys.exc_info()[1]),
+ None, sys.exc_info()[2])
finally:
if clear:
del self.actions[:]
diff --git a/src/zope/configuration/xmlconfig.py b/src/zope/configuration/xmlconfig.py
index 68df11b..8785c01 100644
--- a/src/zope/configuration/xmlconfig.py
+++ b/src/zope/configuration/xmlconfig.py
@@ -242,10 +242,9 @@ class ConfigurationHandler(ContentHandler):
if isinstance(ex, ConfigurationError):
ex.append_details(repr(info))
raise
- else:
- exc = ZopeXMLConfigurationError(info, ex)
- reraise(exc,
- None, sys.exc_info()[2])
+
+ exc = ZopeXMLConfigurationError(info, ex)
+ reraise(exc, None, sys.exc_info()[2])
def startElementNS(self, name, qname, attrs):
if self.ignore_depth: