@@ -118,17 +118,22 @@ int main(int argc, char** argv)
118118 return EXIT_SUCCESS;
119119 }
120120
121- benchmark::Args args;
122- args.asymptote = parseAsymptote (argsman.GetArg (" -asymptote" , " " ));
123- args.is_list_only = argsman.GetBoolArg (" -list" , false );
124- args.min_time = std::chrono::milliseconds (argsman.GetIntArg (" -min-time" , DEFAULT_MIN_TIME_MS));
125- args.output_csv = argsman.GetPathArg (" -output-csv" );
126- args.output_json = argsman.GetPathArg (" -output-json" );
127- args.regex_filter = argsman.GetArg (" -filter" , DEFAULT_BENCH_FILTER);
128- args.sanity_check = argsman.GetBoolArg (" -sanity-check" , false );
129- args.priority = parsePriorityLevel (argsman.GetArg (" -priority-level" , DEFAULT_PRIORITY));
121+ try {
122+ benchmark::Args args;
123+ args.asymptote = parseAsymptote (argsman.GetArg (" -asymptote" , " " ));
124+ args.is_list_only = argsman.GetBoolArg (" -list" , false );
125+ args.min_time = std::chrono::milliseconds (argsman.GetIntArg (" -min-time" , DEFAULT_MIN_TIME_MS));
126+ args.output_csv = argsman.GetPathArg (" -output-csv" );
127+ args.output_json = argsman.GetPathArg (" -output-json" );
128+ args.regex_filter = argsman.GetArg (" -filter" , DEFAULT_BENCH_FILTER);
129+ args.sanity_check = argsman.GetBoolArg (" -sanity-check" , false );
130+ args.priority = parsePriorityLevel (argsman.GetArg (" -priority-level" , DEFAULT_PRIORITY));
130131
131- benchmark::BenchRunner::RunAll (args);
132+ benchmark::BenchRunner::RunAll (args);
132133
133- return EXIT_SUCCESS;
134+ return EXIT_SUCCESS;
135+ } catch (const std::exception& e) {
136+ tfm::format (std::cerr, " Error: %s\n " , e.what ());
137+ return EXIT_FAILURE;
138+ }
134139}
0 commit comments