From 86cc8fdb3ab06f496c718ca97998c1301b3af7d2 Mon Sep 17 00:00:00 2001 From: dhood Date: Thu, 13 Sep 2018 17:46:56 -0700 Subject: [PATCH] Output rcl error message when yaml parsing fails (#557) --- rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp b/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp index 734be07..92eb854 100644 --- a/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp +++ b/rclcpp/src/rclcpp/node_interfaces/node_parameters.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -120,7 +121,11 @@ NodeParameters::NodeParameters( throw std::bad_alloc(); } if (!rcl_parse_yaml_file(yaml_path.c_str(), yaml_params)) { - throw std::runtime_error("Failed to parse parameters " + yaml_path); + std::ostringstream ss; + ss << "Failed to parse parameters from file '" << yaml_path << "': " << + rcl_get_error_string_safe(); + rcl_reset_error(); + throw std::runtime_error(ss.str()); } rclcpp::ParameterMap initial_map = rclcpp::parameter_map_from(yaml_params);