From 55ec6a79429ecf5c2253dcc65dcf6544ec3952d6 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 22 Mar 2013 17:58:33 -0700 Subject: [PATCH] cleanups around exception handling --- include/mapnik/params_impl.hpp | 2 +- src/datasource_cache.cpp | 4 ++-- src/load_map.cpp | 32 ++++++++++++++++---------------- src/mapped_memory_cache.cpp | 6 ++++-- src/marker_cache.cpp | 4 ---- src/rapidxml_loader.cpp | 2 +- src/svg/svg_parser.cpp | 6 +++--- 7 files changed, 27 insertions(+), 29 deletions(-) diff --git a/include/mapnik/params_impl.hpp b/include/mapnik/params_impl.hpp index 85a74a7fb..64f990bef 100644 --- a/include/mapnik/params_impl.hpp +++ b/include/mapnik/params_impl.hpp @@ -152,7 +152,7 @@ struct value_extractor_visitor : public boost::static_visitor<> { var_ = boost::lexical_cast(val); } - catch (boost::bad_lexical_cast & ) + catch (boost::bad_lexical_cast const& ) { std::string err_msg = (boost::format("Failed converting from %s to %s") % typeid(T1).name() diff --git a/src/datasource_cache.cpp b/src/datasource_cache.cpp index a2d7c989c..0f302e413 100644 --- a/src/datasource_cache.cpp +++ b/src/datasource_cache.cpp @@ -221,11 +221,11 @@ bool datasource_cache::register_datasource(std::string const& str) << str << " (dlopen failed - plugin likely has an unsatisfied dependency or incompatible ABI)"; } } - catch (...) + catch (std::exception const& ex) { MAPNIK_LOG_ERROR(datasource_cache) << "Exception caught while loading plugin library: " - << str; + << str << " (" << ex.what() << ")"; } return success; } diff --git a/src/load_map.cpp b/src/load_map.cpp index dcd8786de..a813e2d72 100644 --- a/src/load_map.cpp +++ b/src/load_map.cpp @@ -281,7 +281,7 @@ void map_parser::parse_map(Map & map, xml_node const& pt, std::string const& bas } } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(map_node); throw; @@ -382,7 +382,7 @@ void map_parser::parse_map_include(Map & map, xml_node const& include) } } } - } catch (const config_error & ex) { + } catch (config_error const& ex) { ex.append_context(include); throw; } @@ -465,7 +465,7 @@ void map_parser::parse_style(Map & map, xml_node const& sty) } map.insert_style(name, style); - } catch (const config_error & ex) { + } catch (config_error const& ex) { ex.append_context(std::string("in style '") + name + "'", sty); throw; } @@ -505,7 +505,7 @@ void map_parser::parse_fontset(Map & map, xml_node const& fset) // when it's parsed fontsets_.insert(std::pair(name, fontset)); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(std::string("in FontSet '") + name + "'", fset); throw; @@ -710,7 +710,7 @@ void map_parser::parse_layer(Map & map, xml_node const& node) } map.addLayer(lyr); } - catch (const config_error & ex) + catch (config_error const& ex) { if (!name.empty()) { @@ -810,7 +810,7 @@ void map_parser::parse_rule(feature_type_style & style, xml_node const& r) style.add_rule(rule); } - catch (const config_error & ex) + catch (config_error const& ex) { if (!name.empty()) { @@ -933,7 +933,7 @@ void map_parser::parse_point_symbolizer(rule & rule, xml_node const & sym) parse_symbolizer_base(symbol, sym); rule.append(symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1079,7 +1079,7 @@ void map_parser::parse_line_pattern_symbolizer(rule & rule, xml_node const & sym parse_symbolizer_base(symbol, sym); rule.append(symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1132,7 +1132,7 @@ void map_parser::parse_polygon_pattern_symbolizer(rule & rule, parse_symbolizer_base(symbol, sym); rule.append(symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1164,7 +1164,7 @@ void map_parser::parse_text_symbolizer(rule & rule, xml_node const& sym) rule.append(text_symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1265,7 +1265,7 @@ void map_parser::parse_shield_symbolizer(rule & rule, xml_node const& sym) parse_symbolizer_base(shield_symbol, sym); rule.append(shield_symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1374,7 +1374,7 @@ void map_parser::parse_line_symbolizer(rule & rule, xml_node const & sym) parse_symbolizer_base(symbol, sym); rule.append(symbol); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1403,7 +1403,7 @@ void map_parser::parse_polygon_symbolizer(rule & rule, xml_node const & sym) parse_symbolizer_base(poly_sym, sym); rule.append(poly_sym); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1429,7 +1429,7 @@ void map_parser::parse_building_symbolizer(rule & rule, xml_node const & sym) parse_symbolizer_base(building_sym, sym); rule.append(building_sym); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1521,7 +1521,7 @@ void map_parser::parse_raster_symbolizer(rule & rule, xml_node const & sym) parse_symbolizer_base(raster_sym, sym); rule.append(raster_sym); } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(sym); throw; @@ -1617,7 +1617,7 @@ bool map_parser::parse_raster_colorizer(raster_colorizer_ptr const& rc, } } } - catch (const config_error & ex) + catch (config_error const& ex) { ex.append_context(node); throw; diff --git a/src/mapped_memory_cache.cpp b/src/mapped_memory_cache.cpp index a9f385e52..c0cbed92a 100644 --- a/src/mapped_memory_cache.cpp +++ b/src/mapped_memory_cache.cpp @@ -79,9 +79,11 @@ boost::optional mapped_memory_cache::find(std::string const& } return result; } - catch (...) + catch (std::exception const& ex) { - MAPNIK_LOG_ERROR(mapped_memory_cache) << "Exception caught while loading mapping memory file: " << uri; + MAPNIK_LOG_ERROR(mapped_memory_cache) + << "Error loading mapped memory file: '" + << uri << "' (" << ex.what() << ")"; } } /* diff --git a/src/marker_cache.cpp b/src/marker_cache.cpp index 970e310f3..a0971d035 100644 --- a/src/marker_cache.cpp +++ b/src/marker_cache.cpp @@ -224,10 +224,6 @@ boost::optional marker_cache::find(std::string const& uri, { MAPNIK_LOG_ERROR(marker_cache) << "Exception caught while loading: '" << uri << "' (" << ex.what() << ")"; } - catch (...) - { - MAPNIK_LOG_ERROR(marker_cache) << "Exception caught while loading: '" << uri << "'"; - } return result; } diff --git a/src/rapidxml_loader.cpp b/src/rapidxml_loader.cpp index a983b7c22..dcd172a0a 100644 --- a/src/rapidxml_loader.cpp +++ b/src/rapidxml_loader.cpp @@ -90,7 +90,7 @@ public: populate_tree(child, node); } } - catch (rapidxml::parse_error &e) + catch (rapidxml::parse_error const& e) { long line = static_cast( std::count(&v.front(), e.where(), '\n') + 1); diff --git a/src/svg/svg_parser.cpp b/src/svg/svg_parser.cpp index 7fb4a1956..266c8cdb6 100644 --- a/src/svg/svg_parser.cpp +++ b/src/svg/svg_parser.cpp @@ -99,7 +99,7 @@ agg::rgba8 parse_color(const char* str) { c = mapnik::parse_color(str); } - catch (mapnik::config_error & ex) + catch (mapnik::config_error const& ex) { MAPNIK_LOG_ERROR(svg_parser) << ex.what(); } @@ -800,7 +800,7 @@ void parse_gradient_stop(svg_parser & parser, xmlTextReaderPtr reader) { stop_color = mapnik::parse_color(kv.second.c_str()); } - catch (mapnik::config_error & ex) + catch (mapnik::config_error const& ex) { MAPNIK_LOG_ERROR(svg_parser) << ex.what(); } @@ -820,7 +820,7 @@ void parse_gradient_stop(svg_parser & parser, xmlTextReaderPtr reader) { stop_color = mapnik::parse_color((const char *) value); } - catch (mapnik::config_error & ex) + catch (mapnik::config_error const& ex) { MAPNIK_LOG_ERROR(svg_parser) << ex.what(); }