Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/eqnparser.py
diff options
context:
space:
mode:
authorReinier Heeres <reinier@heeres.eu>2007-09-16 21:25:59 (GMT)
committer Reinier Heeres <reinier@heeres.eu>2007-09-16 21:25:59 (GMT)
commitdbf0042e81535529026aa94d0fe158809a3c054c (patch)
tree6dfa28517ab99fec38bc90441ddb68c1110cc04f /eqnparser.py
parentd3a7798fbd50c43cc70787483be0cdde42876e13 (diff)
Function exceptions get caught.
Diffstat (limited to 'eqnparser.py')
-rw-r--r--eqnparser.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/eqnparser.py b/eqnparser.py
index 363269a..e15ffa9 100644
--- a/eqnparser.py
+++ b/eqnparser.py
@@ -347,7 +347,14 @@ class EqnParser:
self.ps.set_error(ParserState.PARSE_ERROR, msg='Unable to parse argument %d: \'%s\'' % (i, args[i]))
return None
- res = f(pargs)
+ try:
+ res = f(pargs)
+
+# Maybe we should map exceptions to more obvious error messages
+ except Exception, inst:
+ res = None
+ self.ps.set_error(ParserState.PARSE_ERROR, msg="Function error: %s" % (str(inst)))
+
_logger.debug('Function \'%s\' returned %s', func, self.ml.format_number(res))
return res