diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 32e9701138..b3731ff072 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -507,10 +507,15 @@ public: virtual bool convert_placement(IfcUtil::IfcBaseClass* item, gp_Trsf& trsf) { if (item->as()) { - return convert(item->as(), trsf); - } else { - return false; + try { + return convert(item->as(), trsf); + } catch (std::exception& e) { + Logger::Error(e, item); + } catch (...) { + Logger::Error("Failed processing placement", item); + } } + return false; } };