From 9b3b9acd124f8eaa70c2890b248dd79dec94ebf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Labate?= Date: Thu, 16 Nov 2017 19:13:48 +0100 Subject: [PATCH] Print SDL error on IMG_Load failure in server_map (#631) --- map_server/src/image_loader.cpp | 2 +- map_server/src/main.cpp | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/map_server/src/image_loader.cpp b/map_server/src/image_loader.cpp index 115dcf8ce6..a2dbdf6ead 100644 --- a/map_server/src/image_loader.cpp +++ b/map_server/src/image_loader.cpp @@ -76,7 +76,7 @@ loadMapFromFile(nav_msgs::GetMap::Response* resp, if(!(img = IMG_Load(fname))) { std::string errmsg = std::string("failed to open image file \"") + - std::string(fname) + std::string("\""); + std::string(fname) + std::string("\": ") + IMG_GetError(); throw std::runtime_error(errmsg); } diff --git a/map_server/src/main.cpp b/map_server/src/main.cpp index 35caeba4d4..4c8f20156f 100644 --- a/map_server/src/main.cpp +++ b/map_server/src/main.cpp @@ -165,7 +165,15 @@ class MapServer } ROS_INFO("Loading map from image \"%s\"", mapfname.c_str()); - map_server::loadMapFromFile(&map_resp_,mapfname.c_str(),res,negate,occ_th,free_th, origin, mode); + try + { + map_server::loadMapFromFile(&map_resp_,mapfname.c_str(),res,negate,occ_th,free_th, origin, mode); + } + catch (std::runtime_error e) + { + ROS_ERROR("%s", e.what()); + exit(-1); + } map_resp_.map.info.map_load_time = ros::Time::now(); map_resp_.map.header.frame_id = frame_id; map_resp_.map.header.stamp = ros::Time::now();