diff options
author | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2008-10-02 19:22:06 -0400 |
---|---|---|
committer | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2008-10-02 19:22:06 -0400 |
commit | 53bbc48597fa598a2c1a5ee780bda0efee679462 (patch) | |
tree | 3822b1109703844bc9af667116e09cec2c5eefb9 /base | |
parent | 8cde181d89839ee2c9588b50c336ac5d55bc0d3d (diff) | |
download | fedora-devshell-53bbc48597fa598a2c1a5ee780bda0efee679462.tar.gz fedora-devshell-53bbc48597fa598a2c1a5ee780bda0efee679462.tar.xz fedora-devshell-53bbc48597fa598a2c1a5ee780bda0efee679462.zip |
Added exception for bad function call.
We can use this to deliver *good* inforamtion to the user what went wrong, and how to rectify it if possible.
Diffstat (limited to 'base')
-rw-r--r-- | base/base.py | 7 | ||||
-rw-r--r-- | base/exceptions.py | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/base/base.py b/base/base.py index 68677bc..afa0df4 100644 --- a/base/base.py +++ b/base/base.py @@ -8,6 +8,7 @@ from os.path import join, dirname from module import Module from vars import __description__, __version__, header, prompt +from exceptions import ModuleError, ExecutionException log = logging.getLogger('devshell') @@ -165,7 +166,11 @@ def do_command(data, top=None): params += [param] output = None if len(params): - output = top(*params) + try: + output = top(*params) + except ExecutionException, e: + # TODO: maket his as helpful as possible to the user + log.critical('execution of command failed because: %s' % e.message) if module: return output, module, mod_params diff --git a/base/exceptions.py b/base/exceptions.py index 471dd0e..221b73e 100644 --- a/base/exceptions.py +++ b/base/exceptions.py @@ -2,3 +2,8 @@ class ModuleError(Exception): def __init__(self, reason, error): self.reason = reason self.error = error + +class ExecutionException(Exception): + def __init__(self, e, message): + self.e = e + self.message = message
\ No newline at end of file |