From: abn Date: Mon, 21 Sep 2020 08:32:09 +0000 (+0200) Subject: Constructors throwing should not call instance (ie non-static) methods. X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e3407c14af42113fe2b01d3705e4b3e57628b60e;p=tools%2Fmedcoupling.git Constructors throwing should not call instance (ie non-static) methods. Thx Clang :-) --- diff --git a/src/MEDCoupling/MEDCouplingGaussLocalization.cxx b/src/MEDCoupling/MEDCouplingGaussLocalization.cxx index ebf9cc4a0..e4e5ea051 100644 --- a/src/MEDCoupling/MEDCouplingGaussLocalization.cxx +++ b/src/MEDCoupling/MEDCouplingGaussLocalization.cxx @@ -34,29 +34,18 @@ using namespace MEDCoupling; MEDCouplingGaussLocalization::MEDCouplingGaussLocalization(INTERP_KERNEL::NormalizedCellType type, const std::vector& refCoo, const std::vector& gsCoo, const std::vector& w) -try:_type(type),_ref_coord(refCoo),_gauss_coord(gsCoo),_weight(w) +:_type(type),_ref_coord(refCoo),_gauss_coord(gsCoo),_weight(w) { + // Will potentially throw (and then release memory for above objects _ref_coord etc ...) checkConsistencyLight(); } -catch(INTERP_KERNEL::Exception& e) -{ - _type=INTERP_KERNEL::NORM_ERROR; - _ref_coord.clear(); - _gauss_coord.clear(); - _weight.clear(); - throw e; -} MEDCouplingGaussLocalization::MEDCouplingGaussLocalization(INTERP_KERNEL::NormalizedCellType typ) -try:_type(typ) +:_type(typ) { + // Will potentially throw INTERP_KERNEL::CellModel::GetCellModel(_type); } -catch(INTERP_KERNEL::Exception& e) -{ - _type=INTERP_KERNEL::NORM_ERROR; - throw e; -} void MEDCouplingGaussLocalization::setType(INTERP_KERNEL::NormalizedCellType typ) {