Catch boost program option exception

This commit is contained in:
Andrea Bontempi 2012-07-26 11:01:10 +02:00
parent dc2abedde9
commit 27546dc43c
4 changed files with 62 additions and 18 deletions

View file

@ -54,8 +54,19 @@ int main ( int argc, char **argv ) {
;
variables_map vm;
try {
store ( parse_command_line ( argc, argv, desc ), vm );
notify ( vm );
} catch ( boost::program_options::unknown_option ex1 ) {
cerr << "ERROR >> " << ex1.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
} catch ( boost::program_options::invalid_command_line_syntax ex2 ) {
cerr << "ERROR >> " << ex2.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
}
if ( vm.count ( "help" ) ) {
cout<<desc<<"\n";

View file

@ -168,8 +168,19 @@ int main ( int argc, char **argv ) {
;
variables_map vm;
try {
store ( parse_command_line ( argc, argv, desc ), vm );
notify ( vm );
} catch ( boost::program_options::unknown_option ex1 ) {
cerr << "ERROR >> " << ex1.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
} catch ( boost::program_options::invalid_command_line_syntax ex2 ) {
cerr << "ERROR >> " << ex2.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
}
if ( vm.count ( "help" ) ) {
cout<<desc<<"\n";

View file

@ -169,8 +169,19 @@ int main ( int argc, char **argv ) {
;
variables_map vm;
try {
store ( parse_command_line ( argc, argv, desc ), vm );
notify ( vm );
} catch ( boost::program_options::unknown_option ex1 ) {
cerr << "ERROR >> " << ex1.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
} catch ( boost::program_options::invalid_command_line_syntax ex2 ) {
cerr << "ERROR >> " << ex2.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
}
if ( vm.count ( "help" ) ) {
cout<<desc<<"\n";

View file

@ -58,11 +58,22 @@ int main ( int argc, char **argv ) {
;
variables_map vm;
try {
store ( parse_command_line ( argc, argv, desc ), vm );
notify ( vm );
} catch ( boost::program_options::unknown_option ex1 ) {
cerr << "ERROR >> " << ex1.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
} catch ( boost::program_options::invalid_command_line_syntax ex2 ) {
cerr << "ERROR >> " << ex2.what() << "" << endl;
cerr << ">> Try '" << argv[0] << " --help' for more information." << endl;
return EXIT_SUCCESS;
}
if ( vm.count ( "help" ) ) {
cout<<desc<<"\n";
cout << desc << endl;
return EXIT_SUCCESS;
}