From 53b1798ca7921df563b9786d52ef2998482da569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Wed, 30 Mar 2022 18:42:44 +0200 Subject: [PATCH] Improve error message when a zone is not found --- src/mesh/MeshCellZone.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mesh/MeshCellZone.cpp b/src/mesh/MeshCellZone.cpp index 36418e2b5..240d8ea4f 100644 --- a/src/mesh/MeshCellZone.cpp +++ b/src/mesh/MeshCellZone.cpp @@ -26,7 +26,17 @@ getMeshCellZone(const Mesh<Connectivity<Dimension>>& mesh, const IZoneDescriptor } std::ostringstream ost; - ost << "cannot find zone with name " << rang::fgB::red << zone_descriptor << rang::style::reset; + ost << "cannot find zone with name " << rang::fgB::red << zone_descriptor << rang::style::reset << '\n'; + ost << "The mesh contains " << mesh.connectivity().template numberOfRefItemList<ItemType::cell>() << " zones: "; + for (size_t i_ref_cell_list = 0; i_ref_cell_list < mesh.connectivity().template numberOfRefItemList<ItemType::cell>(); + ++i_ref_cell_list) { + const auto& ref_cell_list = mesh.connectivity().template refItemList<ItemType::cell>(i_ref_cell_list); + const RefId& ref = ref_cell_list.refId(); + if (i_ref_cell_list > 0) { + ost << ", "; + } + ost << rang::fgB::yellow << ref << rang::style::reset; + } throw NormalError(ost.str()); } -- GitLab