Fix coverity issues - unchecked return val, uncaught excepts

This commit is contained in:
Alexey Rybalchenko 2017-10-09 17:23:47 +02:00 committed by Mohammad Al-Turany
parent 896a8d6b7f
commit fb0996268a

View File

@ -24,31 +24,44 @@ int main(int argc, char* argv[])
using namespace fair::mq; using namespace fair::mq;
using namespace fair::mq::hooks; using namespace fair::mq::hooks;
fair::mq::DeviceRunner runner{argc, argv}; try
{
fair::mq::DeviceRunner runner{argc, argv};
// runner.AddHook<LoadPlugins>([](DeviceRunner& r){ // runner.AddHook<LoadPlugins>([](DeviceRunner& r){
// // for example: // // for example:
// r.fPluginManager->SetSearchPaths({"/lib", "/lib/plugins"}); // r.fPluginManager->SetSearchPaths({"/lib", "/lib/plugins"});
// r.fPluginManager->LoadPlugin("asdf"); // r.fPluginManager->LoadPlugin("asdf");
// }); // });
runner.AddHook<SetCustomCmdLineOptions>([](DeviceRunner& r){ runner.AddHook<SetCustomCmdLineOptions>([](DeviceRunner& r){
boost::program_options::options_description customOptions("Custom options"); boost::program_options::options_description customOptions("Custom options");
addCustomOptions(customOptions); addCustomOptions(customOptions);
r.fConfig.AddToCmdLineOptions(customOptions); r.fConfig.AddToCmdLineOptions(customOptions);
}); });
// runner.AddHook<ModifyRawCmdLineArgs>([](DeviceRunner& r){ // runner.AddHook<ModifyRawCmdLineArgs>([](DeviceRunner& r){
// // for example: // // for example:
// r.fRawCmdLineArgs.push_back("--blubb"); // r.fRawCmdLineArgs.push_back("--blubb");
// }); // });
runner.AddHook<InstantiateDevice>([](DeviceRunner& r){ runner.AddHook<InstantiateDevice>([](DeviceRunner& r){
r.fDevice = std::shared_ptr<FairMQDevice>{getDevice(r.fConfig)}; r.fDevice = std::shared_ptr<FairMQDevice>{getDevice(r.fConfig)};
}); });
return runner.RunWithExceptionHandlers(); return runner.Run();
// Run without builtin catch all exception handler, just: // Run with builtin catch all exception handler, just:
// return runner.Run(); // return runner.RunWithExceptionHandlers();
}
catch (std::exception& e)
{
LOG(ERROR) << "Unhandled exception reached the top of main: " << e.what() << ", application will now exit";
return 1;
}
catch (...)
{
LOG(ERROR) << "Non-exception instance being thrown. Please make sure you use std::runtime_exception() instead. Application will now exit.";
return 1;
}
} }