diff --git a/framework/cybertron/tools/cyber_recorder/main.cpp b/framework/cybertron/tools/cyber_recorder/main.cpp index 1b941c60c46750d5b7c64f01db0636cde3ba3e39..9a69c81e6cc3ec465aff8c1444085fccc42e78a5 100644 --- a/framework/cybertron/tools/cyber_recorder/main.cpp +++ b/framework/cybertron/tools/cyber_recorder/main.cpp @@ -201,10 +201,14 @@ int main(int argc, char** argv) { case 'r': try { opt_rate = std::stof(optarg); - } catch (std::invalid_argument& ia) { + } catch (const std::invalid_argument& ia) { std::cout << "Invalid argument: -r/--rate " << std::string(optarg) << std::endl; return -1; + } catch (const std::out_of_range& e) { + std::cout << "Argument is out of range: -r/--rate " + << std::string(optarg) << std::endl; + return -1; } break; case 'b': @@ -216,10 +220,14 @@ int main(int argc, char** argv) { case 's': try { opt_start = std::stoi(optarg); - } catch (std::invalid_argument& ia) { + } catch (const std::invalid_argument& ia) { std::cout << "Invalid argument: -s/--start " << std::string(optarg) << std::endl; return -1; + } catch (const std::out_of_range& e) { + std::cout << "Argument is out of range: -s/--start " + << std::string(optarg) << std::endl; + return -1; } break; case 'd': @@ -229,6 +237,10 @@ int main(int argc, char** argv) { std::cout << "Invalid argument: -d/--delay " << std::string(optarg) << std::endl; return -1; + } catch (const std::out_of_range& e) { + std::cout << "Argument is out of range: -d/--delay " + << std::string(optarg) << std::endl; + return -1; } break; case 'h':