Daniel Miles
2006-May-23 16:20 UTC
[Xen-devel] [PATCH] suggested change in exception-handling style of user-space tools
In the tools/python/xen/xm directory, main.py has good error messages that let the user know what failed; the other ''sub-command'' classes don''t always have such good messages which can lead to some inexplicable failures by the user-space tools. Standard practice is to except each error by type and react accordingly but in case the programmer does not anticipate a type of exception, standard practice is to put in a catch-all exception handler that excepts an ''Exception'' object. Often in this case, the system will print out the exception and exit. If a sub-command excepts an ''Exception'' object and the error is not specific to that sub-command, it should pass the exception up for main to handle. Especially in light of the fact that there is already a broad collection of good error messages in main, I believe that this will lead to better code re-use in the form of a one-stop-shop for error messages. In this patch I''ve changed only one of the general case exception handlers in one of the sub-commands (xm create) as a test-balloon to see if the xen community will accept future patches of this type. Singed-off-by: Daniel Miles <daniel.t.miles@hp.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ewan Mellor
2006-Jun-01 11:11 UTC
Re: [Xen-devel] [PATCH] suggested change in exception-handling style of user-space tools
On Tue, May 23, 2006 at 10:20:21AM -0600, Daniel Miles wrote:> In the tools/python/xen/xm directory, main.py has good error messages > that let the user know what failed; the other ''sub-command'' classes > don''t always have such good messages which can lead to some inexplicable > failures by the user-space tools. > > Standard practice is to except each error by type and react accordingly > but in case the programmer does not anticipate a type of exception, > standard practice is to put in a catch-all exception handler that > excepts an ''Exception'' object. Often in this case, the system will print > out the exception and exit. > > If a sub-command excepts an ''Exception'' object and the error is not > specific to that sub-command, it should pass the exception up for main > to handle. Especially in light of the fact that there is already a broad > collection of good error messages in main, I believe that this will lead > to better code re-use in the form of a one-stop-shop for error messages. > In this patch I''ve changed only one of the general case exception > handlers in one of the sub-commands (xm create) as a test-balloon to see > if the xen community will accept future patches of this type.Applied, thank you. Patches for cleaning up the error handling and diagnosis are always welcome, so feel free to send more!> Singed-off-by: Daniel Miles <daniel.t.miles@hp.com>I like the idea of a patch, gently burned around the edges ;-) Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel