diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 6d90f85d03..8bf3c5f6ef 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -909,7 +909,10 @@ def parseCommandLine(argv): def main(argv): - (opts, config) = parseCommandLine(argv) + try: + (opts, config) = parseCommandLine(argv) + except StandardError, ex: + err(str(ex)) if not opts: return @@ -924,8 +927,7 @@ def main(argv): dom0_min_mem = xroot.get_dom0_min_mem() if dom0_min_mem != 0: if balloon_out(dom0_min_mem, opts): - print >>sys.stderr, "error: cannot allocate enough memory for domain" - sys.exit(1) + err("cannot allocate enough memory for domain") dom = make_domain(opts, config) if opts.vals.console_autoconnect: diff --git a/tools/python/xen/xm/help.py b/tools/python/xen/xm/help.py index 276cfbbf4a..9db2e31fdf 100644 --- a/tools/python/xen/xm/help.py +++ b/tools/python/xen/xm/help.py @@ -87,7 +87,10 @@ class Var: """Execute the check and set the variable to the new value. """ if not self.check: return - env[self.name] = self.check(self.name, env.get(self.name)) + try: + env[self.name] = self.check(self.name, env.get(self.name)) + except StandardError, ex: + raise sys.exc_type, self.name + " - " + str(ex) def doHelp(self, out): """Print help for the variable.