@@ -122,8 +122,13 @@ int main(int argc, char** argv) {
122122 positional_options.add (" output-file" , 1 );
123123
124124 boost::program_options::variables_map vmap;
125- boost::program_options::store (boost::program_options::command_line_parser (argc, argv).
126- options (cmdline_options).positional (positional_options).run (), vmap);
125+ try {
126+ boost::program_options::store (boost::program_options::command_line_parser (argc, argv).
127+ options (cmdline_options).positional (positional_options).run (), vmap);
128+ } catch (const boost::program_options::unknown_option& e) {
129+ std::cerr << " [Error] Unknown option '" << e.get_option_name () << " '" << std::endl << std::endl;
130+ // Usage information will be emitted below
131+ }
127132 boost::program_options::notify (vmap);
128133
129134 if (vmap.count (" version" )) {
@@ -184,6 +189,7 @@ int main(int argc, char** argv) {
184189 }
185190
186191 Logger::SetOutput (&std::cout, &log_stream);
192+ Logger::Verbosity (verbose ? Logger::LOG_NOTICE : Logger::LOG_ERROR);
187193
188194 GeometrySerializer* serializer;
189195 if (output_extension == " .obj" ) {
@@ -211,8 +217,6 @@ int main(int argc, char** argv) {
211217 return 1 ;
212218 }
213219
214- Logger::Verbosity (verbose ? Logger::LOG_NOTICE : Logger::LOG_ERROR);
215-
216220 if (!serializer->ready ()) {
217221 Logger::Message (Logger::LOG_ERROR, " Unable to open output file for writing" );
218222 write_log ();
0 commit comments