[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?
From: |
Timothy Brownawell |
Subject: |
Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking? |
Date: |
Sun, 04 Jan 2009 16:41:46 +0000 |
On Sun, 2009-01-04 at 11:24 -0500, LeJacq, Jean Pierre wrote:
> On Saturday 2009 January 03 20:56:52 Timothy Brownawell wrote:
> > Many commands check for eg the right number of arguments like so:
> >
> > if (args.size() != 3)
> > throw usage(execid);
> >
> > where others do
> >
> > N(args.size() == 0,
> > F("no arguments needed"));
> >
> >
> > This ought to be made consistent, does anyone object to using the
> > 'throw usage();' version everywhere?
>
> I recommend the inverse. Exceptions should be reserved for, well
> "exceptional" situations. Validation of inputs doesn't fall into
> this category and is more properly handled by normal control loops.
"N(false, message)" results in "throw informative_faulure(message)", the
question is what to throw rather than whether to throw.
A command that does "throw usage()" gives the same result as calling
"mtn help <command>", printing full usage info to stderr, where N()
results in "mtn: misuse: <message>" on stderr and will put a note in any
debug log.
--
Timothy
Free (experimental) public monotone hosting: http://mtn-host.prjek.net
- [Monotone-devel] "throw usage();" or "N();" for argument checking?, Timothy Brownawell, 2009/01/03
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Thomas Keller, 2009/01/03
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, LeJacq, Jean Pierre, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?,
Timothy Brownawell <=
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Markus Wanner, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Timothy Brownawell, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Zack Weinberg, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Thomas Keller, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Timothy Brownawell, 2009/01/12
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, LeJacq, Jean Pierre, 2009/01/04
- Re: [Monotone-devel] "throw usage(); " or "N(); " for argument checking?, Markus Wanner, 2009/01/04