Boost logo

Boost Users :

From: Merrill Cornish (merrill.cornish_at_[hidden])
Date: 2006-02-01 21:31:41


I have a minimal program below that uses the program_options
library. If executed with no options or with --help as an option,
it correctly prints "End of option processing" and does nothing else.

However, if you give it an unexpected option such as --x, then
(in my case) Zone Alert pops up saying that "somone" is trying
to launch Dr Watson. If the try/catch is omitted, a message is
printed to the console: "This application has requested the Runtime
to terminate it in an unusual way. Please contact the application's
support team for more information."

Am I doing something wrong to make unexpected options behave
so badly?

Merrill

==========================================
#include <iostream>
#include <stdexcept>
#include "boost/program_options.hpp"
namespace po = boost::program_options;
using namespace std;

int main(int argc, char* argv[]) {
    try {
        po::options_description general_verbose("Options");
        general_verbose.add_options()
                ("help,h", " Display this help message.");

    po::variables_map vm;
        po::store(po::command_line_parser(argc, argv).
                      options(general_verbose).run(), vm);
        po::notify(vm);
    }//try
    catch(std::exception ex) {
        cout << "Exception: " << ex.what() << endl;
    }
    catch(...) {
        cout << "Unknown exception." << endl;
    }
        cout << "End of option processing." << endl;
}//main()


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net