Boost logo

Boost Users :

From: Roel (roel_v_at_[hidden])
Date: 2006-05-06 09:06:29


I've been using boost::program_options but I have some questions about it.

First: to catch errors that the users makes when specifying command-line
options (eg I declared an option to be integer-only but the user
specified a string), I surrounded the call to store() by a try/catch block:

        try {
                        boost::program_options::command_line_parser(argc, argv).
                          options(desc).positional(p).run(), vm);
        catch (boost::program_options::invalid_option_value e) {

But now how do I give a meaningfull error message? The what() function
of invalid_option_value is private, what other options do I have?

Secondly, is there a mechanism to check the relation between options? I
have a number of options: -a, -m and -d for add, modify and delete
respectively; I want only one of them to be allowed at the same time.
Also, when the -a option is specified, the -t and -r options are valid,
and only then. Do I have to check all of that manually? Thanks.



Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at