diff --git a/libuavcan_drivers/linux/apps/uavcan_nodetool.cpp b/libuavcan_drivers/linux/apps/uavcan_nodetool.cpp index 0917b724eb..f40485967e 100644 --- a/libuavcan_drivers/linux/apps/uavcan_nodetool.cpp +++ b/libuavcan_drivers/linux/apps/uavcan_nodetool.cpp @@ -348,14 +348,22 @@ void runForever(const uavcan_linux::NodePtr& node) int main(int argc, const char** argv) { - if (argc < 3) + try { - std::cout << "Usage:\n\t" << argv[0] << " [can-iface-name-N...]" << std::endl; + if (argc < 3) + { + std::cout << "Usage:\n\t" << argv[0] << " [can-iface-name-N...]" << std::endl; + return 1; + } + const int self_node_id = std::stoi(argv[1]); + const std::vector iface_names(argv + 2, argv + argc); + uavcan_linux::NodePtr node = initNode(iface_names, self_node_id, "org.uavcan.linux_nodetool"); + runForever(node); + return 0; + } + catch (const std::exception& ex) + { + std::cerr << "Error: " << ex.what() << std::endl; return 1; } - const int self_node_id = std::stoi(argv[1]); - const std::vector iface_names(argv + 2, argv + argc); - uavcan_linux::NodePtr node = initNode(iface_names, self_node_id, "org.uavcan.linux_nodetool"); - runForever(node); - return 0; } diff --git a/libuavcan_drivers/linux/apps/uavcan_status_monitor.cpp b/libuavcan_drivers/linux/apps/uavcan_status_monitor.cpp index 9c8b8ebdef..5f3f232e3a 100644 --- a/libuavcan_drivers/linux/apps/uavcan_status_monitor.cpp +++ b/libuavcan_drivers/linux/apps/uavcan_status_monitor.cpp @@ -127,17 +127,25 @@ static void runForever(const uavcan_linux::NodePtr& node) int main(int argc, const char** argv) { - if (argc < 2) + try { - std::cout << "Usage:\n\t" << argv[0] << " [can-iface-name-N...]" << std::endl; + if (argc < 2) + { + std::cout << "Usage:\n\t" << argv[0] << " [can-iface-name-N...]" << std::endl; + return 1; + } + std::vector iface_names; + for (int i = 1; i < argc; i++) + { + iface_names.emplace_back(argv[i]); + } + uavcan_linux::NodePtr node = initNodeInPassiveMode(iface_names, "org.uavcan.status_monitor"); + runForever(node); + return 0; + } + catch (const std::exception& ex) + { + std::cerr << "Error: " << ex.what() << std::endl; return 1; } - std::vector iface_names; - for (int i = 1; i < argc; i++) - { - iface_names.emplace_back(argv[i]); - } - uavcan_linux::NodePtr node = initNodeInPassiveMode(iface_names, "org.uavcan.status_monitor"); - runForever(node); - return 0; }