Index: src/coreInterface/NonManifoldGeometry.cpp
===================================================================
--- src/coreInterface/NonManifoldGeometry.cpp	(revision 74453)
+++ src/coreInterface/NonManifoldGeometry.cpp	(working copy)
@@ -41,7 +41,7 @@
 // class NonManifoldGeometry::Vetrex
 //
 
-Vector3D NonManifoldGeometry::Vertex::Point(void) const throw() {
+Vector3D NonManifoldGeometry::Vertex::Point(void) const {
     Vector3D ret;
 
     if (m_vertex != 0) {
@@ -66,7 +66,7 @@
 // class NonManifoldGeometry::Edge
 //
 
-NonManifoldGeometry::Vertex NonManifoldGeometry::Edge::ForwardVertex(void) const throw() {
+NonManifoldGeometry::Vertex NonManifoldGeometry::Edge::ForwardVertex(void) const {
     Vertex ret;
 
     if (m_edge != 0) {
@@ -83,7 +83,7 @@
 }
 
 
-NonManifoldGeometry::Vertex NonManifoldGeometry::Edge::BackwardVertex(void) const throw() {
+NonManifoldGeometry::Vertex NonManifoldGeometry::Edge::BackwardVertex(void) const {
     Vertex ret;
 
     if (m_edge != 0) {
@@ -108,7 +108,7 @@
 // class NonManifoldGeometry::Loop
 //
 
-bool NonManifoldGeometry::Loop::IsHole(void) const throw() {
+bool NonManifoldGeometry::Loop::IsHole(void) const {
     bool ret = false;
 
     if (m_loop != 0) {
@@ -122,7 +122,7 @@
 }
 
 
-void NonManifoldGeometry::Loop::GotoFirstEdge(void) throw() {
+void NonManifoldGeometry::Loop::GotoFirstEdge(void) {
     m_currentEdge = 0;
 
     if (m_loop != 0) {
@@ -138,7 +138,7 @@
 }
 
 
-const NonManifoldGeometry::Loop& NonManifoldGeometry::Loop::operator++(void) throw() {
+const NonManifoldGeometry::Loop& NonManifoldGeometry::Loop::operator++(void) {
     if ((m_loop != 0) && (m_currentEdge != 0)) {
         NMG_CK_LOOPUSE(m_loop);
 
@@ -152,7 +152,7 @@
 }
 
 
-NonManifoldGeometry::Edge NonManifoldGeometry::Loop::CurrentEdge(void) const throw() {
+NonManifoldGeometry::Edge NonManifoldGeometry::Loop::CurrentEdge(void) const {
     Edge ret;
 
     if (m_currentEdge != 0) {
@@ -169,7 +169,7 @@
 // class NonManifoldGeometry::Face
 //
 
-void NonManifoldGeometry::Face::GotoFirstLoop(void) throw(){
+void NonManifoldGeometry::Face::GotoFirstLoop(void){
     m_currentLoop = 0;
 
     if (m_face != 0) {
@@ -183,7 +183,7 @@
 }
 
 
-const NonManifoldGeometry::Face& NonManifoldGeometry::Face::operator++(void) throw() {
+const NonManifoldGeometry::Face& NonManifoldGeometry::Face::operator++(void) {
     if ((m_face != 0) && (m_currentLoop != 0)) {
         NMG_CK_FACEUSE(m_face);
 
@@ -197,7 +197,7 @@
 }
 
 
-NonManifoldGeometry::Loop NonManifoldGeometry::Face::CurrentLoop(void) const throw() {
+NonManifoldGeometry::Loop NonManifoldGeometry::Face::CurrentLoop(void) const {
     Loop ret;
 
     if (m_currentLoop != 0) {
@@ -214,7 +214,7 @@
 // class NonManifoldGeometry::Shell
 //
 
-void NonManifoldGeometry::Shell::GotoFirstFace(void) throw() {
+void NonManifoldGeometry::Shell::GotoFirstFace(void) {
     m_currentFace = 0;
 
     if (m_shell != 0) {
@@ -236,7 +236,7 @@
 }
 
 
-const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextFace(void) throw() {
+const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextFace(void) {
     if ((m_shell != 0) && (m_currentFace != 0)) {
         NMG_CK_SHELL(m_shell);
 
@@ -258,7 +258,7 @@
 }
 
 
-NonManifoldGeometry::Face NonManifoldGeometry::Shell::CurrentFace(void) const throw() {
+NonManifoldGeometry::Face NonManifoldGeometry::Shell::CurrentFace(void) const {
     Face ret;
 
     if (m_currentFace != 0) {
@@ -271,7 +271,7 @@
 }
 
 
-void NonManifoldGeometry::Shell::GotoFirstLoop(void) throw() {
+void NonManifoldGeometry::Shell::GotoFirstLoop(void) {
     m_currentLoop = 0;
 
     if (m_shell != 0) {
@@ -285,7 +285,7 @@
 }
 
 
-const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextLoop(void) throw() {
+const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextLoop(void) {
     if ((m_shell != 0) && (m_currentLoop != 0)) {
         NMG_CK_SHELL(m_shell);
 
@@ -299,7 +299,7 @@
 }
 
 
-NonManifoldGeometry::Loop NonManifoldGeometry::Shell::CurrentLoop(void) const throw() {
+NonManifoldGeometry::Loop NonManifoldGeometry::Shell::CurrentLoop(void) const {
     Loop ret;
 
     if (m_currentLoop != 0) {
@@ -312,7 +312,7 @@
 }
 
 
-void NonManifoldGeometry::Shell::GotoFirstEdge(void) throw() {
+void NonManifoldGeometry::Shell::GotoFirstEdge(void) {
     m_currentEdge = 0;
 
     if (m_shell != 0) {
@@ -326,7 +326,7 @@
 }
 
 
-const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextEdge(void) throw() {
+const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextEdge(void) {
     if ((m_shell != 0) && (m_currentEdge != 0)) {
         NMG_CK_SHELL(m_shell);
 
@@ -340,7 +340,7 @@
 }
 
 
-NonManifoldGeometry::Edge NonManifoldGeometry::Shell::CurrentEdge(void) const throw() {
+NonManifoldGeometry::Edge NonManifoldGeometry::Shell::CurrentEdge(void) const {
     Edge ret;
 
     if (m_currentEdge != 0) {
@@ -353,7 +353,7 @@
 }
 
 
-void NonManifoldGeometry::Shell::GotoFirstVertex(void) throw() {
+void NonManifoldGeometry::Shell::GotoFirstVertex(void) {
     m_currentVertex = 0;
 
     if (m_shell != 0) {
@@ -364,7 +364,7 @@
 }
 
 
-const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextVertex(void) throw() {
+const NonManifoldGeometry::Shell& NonManifoldGeometry::Shell::GotoNextVertex(void) {
     m_currentVertex = 0;
 
     return *this;
@@ -371,7 +371,7 @@
 }
 
 
-NonManifoldGeometry::Vertex NonManifoldGeometry::Shell::CurrentVertex(void) const throw() {
+NonManifoldGeometry::Vertex NonManifoldGeometry::Shell::CurrentVertex(void) const {
     Vertex ret;
 
     if (m_currentVertex != 0) {
@@ -388,7 +388,7 @@
 // class NonManifoldGeometry::Region
 //
 
-void NonManifoldGeometry::Region::GotoFirstShell(void) throw() {
+void NonManifoldGeometry::Region::GotoFirstShell(void) {
     m_currentShell = 0;
 
     if (m_region != 0) {
@@ -402,7 +402,7 @@
 }
 
 
-const NonManifoldGeometry::Region& NonManifoldGeometry::Region::operator++(void) throw() {
+const NonManifoldGeometry::Region& NonManifoldGeometry::Region::operator++(void) {
     if ((m_region != 0) && (m_currentShell != 0)) {
         NMG_CK_REGION(m_region);
 
@@ -416,7 +416,7 @@
 }
 
 
-NonManifoldGeometry::Shell NonManifoldGeometry::Region::CurrentShell(void) const throw() {
+NonManifoldGeometry::Shell NonManifoldGeometry::Region::CurrentShell(void) const {
     Shell ret;
 
     if (m_currentShell != 0) {
@@ -433,7 +433,7 @@
 // class NonManifoldGeometry::RegionIterator
 //
 
-void NonManifoldGeometry::RegionIterator::GotoFirstRegion(void) throw() {
+void NonManifoldGeometry::RegionIterator::GotoFirstRegion(void) {
     m_currentRegion = 0;
 
     if (m_model != 0) {
@@ -447,7 +447,7 @@
 }
 
 
-const NonManifoldGeometry::RegionIterator& NonManifoldGeometry::RegionIterator::operator++(void) throw() {
+const NonManifoldGeometry::RegionIterator& NonManifoldGeometry::RegionIterator::operator++(void) {
     if ((m_model != 0) && (m_currentRegion != 0)) {
         NMG_CK_MODEL(m_model);
 
@@ -461,7 +461,7 @@
 }
 
 
-NonManifoldGeometry::Region NonManifoldGeometry::RegionIterator::CurrentRegion(void) const throw() {
+NonManifoldGeometry::Region NonManifoldGeometry::RegionIterator::CurrentRegion(void) const {
     Region ret;
 
     if (m_currentRegion != 0) {
@@ -478,12 +478,11 @@
 // class NonManifoldGeometry
 //
 
-NonManifoldGeometry::NonManifoldGeometry(void) throw(bad_alloc) : Object(), m_internalp(0) {
+NonManifoldGeometry::NonManifoldGeometry(void) : Object(), m_internalp(0) {
     if (!BU_SETJUMP)
         m_internalp = nmg_mm();
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::NonManifoldGeometry::NonManifoldGeometry");
     }
 
     BU_UNSETJUMP;
@@ -493,7 +492,7 @@
 NonManifoldGeometry::NonManifoldGeometry
 (
     const NonManifoldGeometry& original
-) throw(bad_alloc) : Object(original), m_internalp(0) {
+) : Object(original), m_internalp(0) {
     Copy(original);
 
     if (!BU_SETJUMP)
@@ -500,7 +499,6 @@
         m_internalp = nmg_clone_model(original.Internal());
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::NonManifoldGeometry::NonManifoldGeometry");
     }
 
     BU_UNSETJUMP;
@@ -507,7 +505,7 @@
 }
 
 
-NonManifoldGeometry::~NonManifoldGeometry(void) throw() {
+NonManifoldGeometry::~NonManifoldGeometry(void) {
     if (m_internalp != 0)
         nmg_km(m_internalp);
 }
@@ -516,7 +514,7 @@
 const NonManifoldGeometry& NonManifoldGeometry::operator=
 (
     const NonManifoldGeometry& original
-) throw(bad_alloc) {
+) {
     if (&original != this) {
         Copy(original);
 
@@ -529,7 +527,6 @@
             nmgModel = nmg_clone_model(original.Internal());
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::NonManifoldGeometry::=");
         }
 
         BU_UNSETJUMP;
@@ -544,7 +541,7 @@
 }
 
 
-void NonManifoldGeometry::Triangulate(void) throw(bad_alloc) {
+void NonManifoldGeometry::Triangulate(void) {
     bn_tol tolerance;
 
     tolerance.magic   = BN_TOL_MAGIC;
@@ -557,7 +554,6 @@
         nmg_triangulate_model(Internal(), &RTG.rtg_vlfree, &tolerance);
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::NonManifoldGeometry::Triangulate");
     }
 
     BU_UNSETJUMP;
@@ -567,7 +563,7 @@
 void NonManifoldGeometry::Triangulate
 (
     Shell& shellToTrinagulate
-) throw(bad_alloc) {
+) {
     bn_tol tolerance;
 
     tolerance.magic   = BN_TOL_MAGIC;
@@ -580,7 +576,6 @@
         nmg_triangulate_shell(const_cast<shell*>(shellToTrinagulate.m_shell), &RTG.rtg_vlfree, &tolerance);
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::NonManifoldGeometry::Triangulate");
     }
 
     BU_UNSETJUMP;
@@ -590,7 +585,7 @@
 void NonManifoldGeometry::Triangulate
 (
     Face& faceToTrinagulate
-) throw(bad_alloc) {
+) {
     bn_tol tolerance;
 
     tolerance.magic   = BN_TOL_MAGIC;
@@ -603,7 +598,6 @@
         nmg_triangulate_fu(const_cast<faceuse*>(faceToTrinagulate.m_face), &RTG.rtg_vlfree, &tolerance);
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::NonManifoldGeometry::Triangulate");
     }
 
     BU_UNSETJUMP;
@@ -610,7 +604,7 @@
 }
 
 
-NonManifoldGeometry::RegionIterator NonManifoldGeometry::Regions(void) const throw() {
+NonManifoldGeometry::RegionIterator NonManifoldGeometry::Regions(void) const {
     NonManifoldGeometry::RegionIterator ret;
     ret.m_model = Internal();
 
@@ -621,7 +615,7 @@
 const Object& NonManifoldGeometry::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const NonManifoldGeometry* nmg = dynamic_cast<const NonManifoldGeometry*>(&original);
     assert(nmg != 0);
 
@@ -632,22 +626,22 @@
 }
 
 
-Object* NonManifoldGeometry::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* NonManifoldGeometry::Clone(void) const {
     return new NonManifoldGeometry(*this);
 }
 
 
-const char* NonManifoldGeometry::ClassName(void) throw() {
+const char* NonManifoldGeometry::ClassName(void) {
     return "NonManifoldGeometry";
 }
 
 
-const char* NonManifoldGeometry::Type(void) const throw() {
+const char* NonManifoldGeometry::Type(void) const {
     return ClassName();
 }
 
 
-bool NonManifoldGeometry::IsValid(void) const throw() {
+bool NonManifoldGeometry::IsValid(void) const {
     bool ret = Validate();
 
     if (ret) {
@@ -670,10 +664,10 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : Object(resp, pDir, ip, dbip), m_internalp(0) {}
+) : Object(resp, pDir, ip, dbip), m_internalp(0) {}
 
 
-const model* NonManifoldGeometry::Internal(void) const throw() {
+const model* NonManifoldGeometry::Internal(void) const {
     const model* ret;
 
     if (m_ip != 0)
@@ -687,7 +681,7 @@
 }
 
 
-model* NonManifoldGeometry::Internal(void) throw() {
+model* NonManifoldGeometry::Internal(void) {
     model* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/ParabolicCylinder.cpp
===================================================================
--- src/coreInterface/ParabolicCylinder.cpp	(revision 74453)
+++ src/coreInterface/ParabolicCylinder.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-ParabolicCylinder::ParabolicCylinder(void) throw(bad_alloc) : Object() {
+ParabolicCylinder::ParabolicCylinder(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rpc_internal);
         m_internalp->rpc_magic = RT_RPC_INTERNAL_MAGIC;
@@ -48,7 +48,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::ParabolicCylinder::ParabolicCylinder");
     }
 
     BU_UNSETJUMP;
@@ -61,7 +60,7 @@
     const Vector3D& height,
     const Vector3D& depth,
     double          halfWidth
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rpc_internal);
         m_internalp->rpc_magic = RT_RPC_INTERNAL_MAGIC;
@@ -70,7 +69,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::ParabolicCylinder::ParabolicCylinder");
     }
 
     BU_UNSETJUMP;
@@ -80,7 +78,7 @@
 ParabolicCylinder::ParabolicCylinder
 (
     const ParabolicCylinder& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rpc_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_rpc_internal));
@@ -87,7 +85,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::ParabolicCylinder::ParabolicCylinder");
     }
 
     BU_UNSETJUMP;
@@ -94,7 +91,7 @@
 }
 
 
-ParabolicCylinder::~ParabolicCylinder(void) throw() {
+ParabolicCylinder::~ParabolicCylinder(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::ParabolicCylinder::~ParabolicCylinder::m_internalp");
 }
@@ -103,7 +100,7 @@
 const ParabolicCylinder& ParabolicCylinder::operator=
 (
     const ParabolicCylinder& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_rpc_internal));
@@ -113,7 +110,7 @@
 }
 
 
-Vector3D ParabolicCylinder::BasePoint(void) const throw() {
+Vector3D ParabolicCylinder::BasePoint(void) const {
     return Vector3D(Internal()->rpc_V);
 }
 
@@ -121,12 +118,12 @@
 void ParabolicCylinder::SetBasePoint
 (
     const Vector3D& basePoint
-) throw() {
+) {
     VMOVE(Internal()->rpc_V, basePoint.coordinates);
 }
 
 
-Vector3D ParabolicCylinder::Height(void) const throw() {
+Vector3D ParabolicCylinder::Height(void) const {
     return Vector3D(Internal()->rpc_H);
 }
 
@@ -134,12 +131,12 @@
 void ParabolicCylinder::SetHeight
 (
     const Vector3D& height
-) throw() {
+) {
     VMOVE(Internal()->rpc_H, height.coordinates);
 }
 
 
-Vector3D ParabolicCylinder::Depth(void) const throw() {
+Vector3D ParabolicCylinder::Depth(void) const {
     return Vector3D(Internal()->rpc_B);
 }
 
@@ -147,12 +144,12 @@
 void ParabolicCylinder::SetDepth
 (
     const Vector3D& depth
-) throw() {
+) {
     VMOVE(Internal()->rpc_B, depth.coordinates);
 }
 
 
-double ParabolicCylinder::HalfWidth(void) const throw() {
+double ParabolicCylinder::HalfWidth(void) const {
     return Internal()->rpc_r;
 }
 
@@ -160,7 +157,7 @@
 void ParabolicCylinder::SetHalfWidth
 (
     double length
-) throw() {
+) {
     Internal()->rpc_r = length;
 }
 
@@ -171,7 +168,7 @@
     const Vector3D& height,
     const Vector3D& depth,
     double          halfWidth
-) throw() {
+) {
     rt_rpc_internal* internalp = Internal();
 
     VMOVE(internalp->rpc_V, basePoint.coordinates);
@@ -184,7 +181,7 @@
 const Object& ParabolicCylinder::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const ParabolicCylinder* rpc = dynamic_cast<const ParabolicCylinder*>(&original);
     assert(rpc != 0);
 
@@ -195,22 +192,22 @@
 }
 
 
-Object* ParabolicCylinder::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* ParabolicCylinder::Clone(void) const {
     return new ParabolicCylinder(*this);
 }
 
 
-const char* ParabolicCylinder::ClassName(void) throw() {
+const char* ParabolicCylinder::ClassName(void) {
     return "ParabolicCylinder";
 }
 
 
-const char* ParabolicCylinder::Type(void) const throw() {
+const char* ParabolicCylinder::Type(void) const {
     return ClassName();
 }
 
 
-bool ParabolicCylinder::IsValid(void) const throw() {
+bool ParabolicCylinder::IsValid(void) const {
     bool                   ret       = false;
     const rt_rpc_internal* internalp = Internal();
 
@@ -230,10 +227,10 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : Object(resp, pDir, ip, dbip), m_internalp(0) {}
+) : Object(resp, pDir, ip, dbip), m_internalp(0) {}
 
 
-rt_rpc_internal* ParabolicCylinder::Internal(void) throw() {
+rt_rpc_internal* ParabolicCylinder::Internal(void) {
     rt_rpc_internal* ret;
 
     if(m_ip != 0)
@@ -247,7 +244,7 @@
 }
 
 
-const rt_rpc_internal* ParabolicCylinder::Internal(void) const throw() {
+const rt_rpc_internal* ParabolicCylinder::Internal(void) const {
     const rt_rpc_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/Paraboloid.cpp
===================================================================
--- src/coreInterface/Paraboloid.cpp	(revision 74453)
+++ src/coreInterface/Paraboloid.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-Paraboloid::Paraboloid(void) throw(bad_alloc) : Object() {
+Paraboloid::Paraboloid(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_epa_internal);
         m_internalp->epa_magic = RT_EPA_INTERNAL_MAGIC;
@@ -48,7 +48,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Paraboloid::Paraboloid");
     }
 
     BU_UNSETJUMP;
@@ -61,7 +60,7 @@
 const Vector3D& height,
 const Vector3D& semiMajorAxis,
 double          semiMinorAxisLength
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_epa_internal);
         m_internalp->epa_magic = RT_EPA_INTERNAL_MAGIC;
@@ -70,7 +69,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Paraboloid::Paraboloid");
     }
 
     BU_UNSETJUMP;
@@ -84,7 +82,7 @@
 const Vector3D& semiMajorAxisDirection,
 double          semiMajorAxisLength,
 double          semiMinorAxisLength
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_epa_internal);
         m_internalp->epa_magic = RT_EPA_INTERNAL_MAGIC;
@@ -93,7 +91,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Paraboloid::Paraboloid");
     }
 
     BU_UNSETJUMP;
@@ -103,7 +100,7 @@
 Paraboloid::Paraboloid
 (
     const Paraboloid& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_epa_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_epa_internal));
@@ -110,7 +107,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Paraboloid::Paraboloid");
     }
 
     BU_UNSETJUMP;
@@ -117,7 +113,7 @@
 }
 
 
-Paraboloid::~Paraboloid(void) throw() {
+Paraboloid::~Paraboloid(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Paraboloid::~Paraboloid::m_internalp");
 }
@@ -126,7 +122,7 @@
 const Paraboloid& Paraboloid::operator=
 (
     const Paraboloid& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_epa_internal));
@@ -136,7 +132,7 @@
 }
 
 
-Vector3D Paraboloid::BasePoint(void) const throw() {
+Vector3D Paraboloid::BasePoint(void) const {
     return Vector3D(Internal()->epa_V);
 }
 
@@ -144,12 +140,12 @@
 void Paraboloid::SetBasePoint
 (
     const Vector3D& point
-) throw() {
+) {
     VMOVE(Internal()->epa_V, point.coordinates);
 }
 
 
-Vector3D Paraboloid::Height(void) const throw() {
+Vector3D Paraboloid::Height(void) const {
     return Vector3D(Internal()->epa_H);
 }
 
@@ -157,12 +153,12 @@
 void Paraboloid::SetHeight
 (
     const Vector3D& height
-) throw() {
+) {
     VMOVE(Internal()->epa_H, height.coordinates);
 }
 
 
-Vector3D Paraboloid::SemiMajorAxis(void) const throw() {
+Vector3D Paraboloid::SemiMajorAxis(void) const {
     Vector3D               ret;
     const rt_epa_internal* internalp = Internal();
 
@@ -175,7 +171,7 @@
 void Paraboloid::SetSemiMajorAxis
 (
     const Vector3D& axis
-) throw() {
+) {
     rt_epa_internal* internalp = Internal();
 
     VMOVE(internalp->epa_Au, axis.coordinates);
@@ -188,7 +184,7 @@
 (
     const Vector3D& direction,
     double          length
-) throw() {
+) {
     rt_epa_internal* internalp = Internal();
 
     VMOVE(internalp->epa_Au, direction.coordinates);
@@ -197,7 +193,7 @@
 }
 
 
-Vector3D Paraboloid::SemiMajorAxisDirection(void) const throw() {
+Vector3D Paraboloid::SemiMajorAxisDirection(void) const {
     return Vector3D(Internal()->epa_Au);
 }
 
@@ -205,7 +201,7 @@
 void Paraboloid::SetSemiMajorAxisDirection
 (
     const Vector3D& direction
-) throw() {
+) {
     rt_epa_internal* internalp = Internal();
 
     VMOVE(internalp->epa_Au, direction.coordinates);
@@ -213,7 +209,7 @@
 }
 
 
-double Paraboloid::SemiMajorAxisLength(void) const throw() {
+double Paraboloid::SemiMajorAxisLength(void) const {
     return Internal()->epa_r1;
 }
 
@@ -221,12 +217,12 @@
 void Paraboloid::SetSemiMajorAxisLength
 (
 double length
-) throw() {
+) {
     Internal()->epa_r1 = length;
 }
 
 
-double Paraboloid::SemiMinorAxisLength(void) const throw() {
+double Paraboloid::SemiMinorAxisLength(void) const {
     return Internal()->epa_r2;
 }
 
@@ -234,7 +230,7 @@
 void Paraboloid::SetSemiMinorAxisLength
 (
 double length
-) throw() {
+) {
     Internal()->epa_r2 = length;
 }
 
@@ -245,7 +241,7 @@
 const Vector3D& height,
 const Vector3D& semiMajorAxis,
 double          semiMinorAxisLength
-) throw() {
+) {
     rt_epa_internal* internalp = Internal();
 
     VMOVE(internalp->epa_V, basePoint.coordinates);
@@ -264,7 +260,7 @@
 const Vector3D& semiMajorAxisDirection,
 double          semiMajorAxisLength,
 double          semiMinorAxisLength
-) throw() {
+) {
     rt_epa_internal* internalp = Internal();
 
     VMOVE(internalp->epa_V, basePoint.coordinates);
@@ -279,7 +275,7 @@
 const Object& Paraboloid::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Paraboloid* epa = dynamic_cast<const Paraboloid*>(&original);
     assert(epa != 0);
 
@@ -290,22 +286,22 @@
 }
 
 
-Object* Paraboloid::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Paraboloid::Clone(void) const {
     return new Paraboloid(*this);
 }
 
 
-const char* Paraboloid::ClassName(void) throw() {
+const char* Paraboloid::ClassName(void) {
     return "Paraboloid";
 }
 
 
-const char* Paraboloid::Type(void) const throw() {
+const char* Paraboloid::Type(void) const {
     return ClassName();
 }
 
 
-bool Paraboloid::IsValid(void) const throw() {
+bool Paraboloid::IsValid(void) const {
     bool                   ret       = false;
     const rt_epa_internal* internalp = Internal();
 
@@ -326,10 +322,10 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : Object(resp, pDir, ip, dbip), m_internalp(0) {}
+) : Object(resp, pDir, ip, dbip), m_internalp(0) {}
 
 
-rt_epa_internal* Paraboloid::Internal(void) throw() {
+rt_epa_internal* Paraboloid::Internal(void) {
     rt_epa_internal* ret;
 
     if(m_ip != 0)
@@ -343,7 +339,7 @@
 }
 
 
-const rt_epa_internal* Paraboloid::Internal(void) const throw() {
+const rt_epa_internal* Paraboloid::Internal(void) const {
     const rt_epa_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/Particle.cpp
===================================================================
--- src/coreInterface/Particle.cpp	(revision 74453)
+++ src/coreInterface/Particle.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-Particle::Particle(void) throw(bad_alloc) : Object() {
+Particle::Particle(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_part_internal);
         m_internalp->part_magic = RT_PART_INTERNAL_MAGIC;
@@ -48,7 +48,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Particle::Particle");
     }
 
     BU_UNSETJUMP;
@@ -61,7 +60,7 @@
     const Vector3D& height,
     double          baseRadius,
     double          topRadius
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_part_internal);
         m_internalp->part_magic = RT_PART_INTERNAL_MAGIC;
@@ -70,7 +69,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Particle::Particle");
     }
 
     BU_UNSETJUMP;
@@ -80,7 +78,7 @@
 Particle::Particle
 (
     const Particle& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_part_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_part_internal));
@@ -87,7 +85,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Particle::Particle");
     }
 
     BU_UNSETJUMP;
@@ -94,7 +91,7 @@
 }
 
 
-Particle::~Particle(void) throw() {
+Particle::~Particle(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Particle::~Particle::m_internalp");
 }
@@ -103,7 +100,7 @@
 const Particle& Particle::operator =
 (
     const Particle& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_part_internal));
@@ -113,7 +110,7 @@
 }
 
 
-Vector3D Particle::BasePoint(void) const throw() {
+Vector3D Particle::BasePoint(void) const {
     return Vector3D(Internal()->part_V);
 }
 
@@ -121,7 +118,7 @@
 void Particle::SetBasePoint
 (
     const Vector3D& basePoint
-) throw() {
+) {
     VMOVE(Internal()->part_V, basePoint.coordinates);
 
     SetType();
@@ -128,7 +125,7 @@
 }
 
 
-Vector3D Particle::Height(void) const throw() {
+Vector3D Particle::Height(void) const {
     return Vector3D(Internal()->part_H);
 }
 
@@ -136,7 +133,7 @@
 void Particle::SetHeight
 (
     const Vector3D& height
-) throw(){
+){
     VMOVE(Internal()->part_H, height.coordinates);
 
     SetType();
@@ -143,7 +140,7 @@
 }
 
 
-double Particle::BaseRadius(void) const throw() {
+double Particle::BaseRadius(void) const {
     return Internal()->part_vrad;
 }
 
@@ -151,7 +148,7 @@
 void Particle::SetBaseRadius
 (
     double baseRadius
-) throw() {
+) {
     Internal()->part_vrad = baseRadius;
 
     SetType();
@@ -158,7 +155,7 @@
 }
 
 
-double Particle::TopRadius(void) const throw(){
+double Particle::TopRadius(void) const{
     return Internal()->part_hrad;
 }
 
@@ -166,7 +163,7 @@
 void Particle::SetTopRadius
 (
     double topRadius
-) throw() {
+) {
     Internal()->part_hrad = topRadius;
 
     SetType();
@@ -179,7 +176,7 @@
     const Vector3D& height,
     double          baseRadius,
     double          topRadius
-) throw() {
+) {
     rt_part_internal* internalp = Internal();
 
     VMOVE(internalp->part_V, basePoint.coordinates);
@@ -195,7 +192,7 @@
 const Object& Particle::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Particle* part = dynamic_cast<const Particle*>(&original);
     assert(part != 0);
 
@@ -206,22 +203,22 @@
 }
 
 
-Object* Particle::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Particle::Clone(void) const {
     return new Particle(*this);
 }
 
 
-const char* Particle::ClassName(void) throw() {
+const char* Particle::ClassName(void) {
     return "Particle";
 }
 
 
-const char* Particle::Type(void) const throw() {
+const char* Particle::Type(void) const {
     return ClassName();
 }
 
 
-bool Particle::IsValid(void) const throw() {
+bool Particle::IsValid(void) const {
     bool                    ret       = false;
     const rt_part_internal* internalp = Internal();
     double                  maxRadius;
@@ -255,10 +252,10 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : Object(resp, pDir, ip, dbip), m_internalp(0) {}
+) : Object(resp, pDir, ip, dbip), m_internalp(0) {}
 
 
-void Particle::SetType(void) throw() {
+void Particle::SetType(void) {
     rt_part_internal* internalp = Internal();
     double            maxRadius;
     double            minRadius;
@@ -281,7 +278,7 @@
 }
 
 
-rt_part_internal* Particle::Internal(void) throw() {
+rt_part_internal* Particle::Internal(void) {
     rt_part_internal* ret;
 
     if(m_ip != 0)
@@ -295,7 +292,7 @@
 }
 
 
-const rt_part_internal* Particle::Internal(void) const throw() {
+const rt_part_internal* Particle::Internal(void) const {
     const rt_part_internal* ret;
 
     if (m_ip != 0)
Index: include/brlcad/NonManifoldGeometry.h
===================================================================
--- include/brlcad/NonManifoldGeometry.h	(revision 74453)
+++ include/brlcad/NonManifoldGeometry.h	(working copy)
@@ -44,11 +44,11 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT NonManifoldGeometry : public Object {
     public:
-        NonManifoldGeometry(void) throw(bad_alloc);
-        NonManifoldGeometry(const NonManifoldGeometry& original) throw(bad_alloc);
-        virtual ~NonManifoldGeometry(void) throw();
+        NonManifoldGeometry(void);
+        NonManifoldGeometry(const NonManifoldGeometry& original);
+        virtual ~NonManifoldGeometry(void);
 
-        const NonManifoldGeometry& operator=(const NonManifoldGeometry& original) throw(bad_alloc);
+        const NonManifoldGeometry& operator=(const NonManifoldGeometry& original);
 
         // the classes for the subobjects are all non-changing
         // otherwise we would need every subclass in two kinds: constant and mutable
@@ -62,22 +62,22 @@
 
         class BRLCAD_COREINTERFACE_EXPORT Vertex {
         public:
-            Vertex(const Vertex& original) throw() : m_vertex(original.m_vertex) {}
+            Vertex(const Vertex& original) : m_vertex(original.m_vertex) {}
 
-            ~Vertex(void) throw() {}
+            ~Vertex(void) {}
 
-            const Vertex& operator=(const Vertex& original) throw() {
+            const Vertex& operator=(const Vertex& original) {
                 m_vertex = original.m_vertex;
 
                 return *this;
             }
 
-                          operator const void*(void) const throw() {
+                          operator const void*(void) const {
                 return m_vertex;
             }
 
             // here we go
-            Vector3D      Point(void) const throw();
+            Vector3D      Point(void) const;
 
         private:
             const vertexuse* m_vertex;
@@ -85,29 +85,29 @@
             friend class Edge;
             friend class Shell;
 
-            Vertex(void) throw() : m_vertex(0) {}
+            Vertex(void) : m_vertex(0) {}
         };
 
 
         class BRLCAD_COREINTERFACE_EXPORT Edge {
         public:
-            Edge(const Edge& original) throw() : m_edge(original.m_edge) {}
+            Edge(const Edge& original) : m_edge(original.m_edge) {}
 
-            ~Edge(void) throw() {}
+            ~Edge(void) {}
 
-            const Edge& operator=(const Edge& original) throw() {
+            const Edge& operator=(const Edge& original) {
                 m_edge = original.m_edge;
 
                 return *this;
             }
 
-                        operator const void*(void) const throw() {
+                        operator const void*(void) const {
                 return m_edge;
             }
 
             // here we go
-            Vertex      ForwardVertex(void) const throw();
-            Vertex      BackwardVertex(void) const throw();
+            Vertex      ForwardVertex(void) const;
+            Vertex      BackwardVertex(void) const;
 
         private:
             const edgeuse* m_edge;
@@ -115,17 +115,17 @@
             friend class Loop;
             friend class Shell;
 
-            Edge(void) throw() : m_edge(0) {}
+            Edge(void) : m_edge(0) {}
         };
 
 
         class BRLCAD_COREINTERFACE_EXPORT Loop {
         public:
-            Loop(const Loop& original) throw() : m_loop(original.m_loop), m_currentEdge(original.m_currentEdge) {}
+            Loop(const Loop& original) : m_loop(original.m_loop), m_currentEdge(original.m_currentEdge) {}
 
-            ~Loop(void) throw() {}
+            ~Loop(void) {}
 
-            const Loop& operator=(const Loop& original) throw() {
+            const Loop& operator=(const Loop& original) {
                 m_loop        = original.m_loop;
                 m_currentEdge = original.m_currentEdge;
 
@@ -132,17 +132,17 @@
                 return *this;
             }
 
-                        operator const void*(void) const throw() {
+                        operator const void*(void) const {
                 return m_loop;
             }
 
             // here we go
-            bool        IsHole(void) const throw();
+            bool        IsHole(void) const;
 
             // it's an iterator
-            void        GotoFirstEdge(void) throw();
-            const Loop& operator++(void) throw();
-            Edge        CurrentEdge(void) const throw();
+            void        GotoFirstEdge(void);
+            const Loop& operator++(void);
+            Edge        CurrentEdge(void) const;
 
         private:
             const loopuse* m_loop;
@@ -151,17 +151,17 @@
             friend class Face;
             friend class Shell;
 
-            Loop(void) throw() : m_loop(0), m_currentEdge(0) {}
+            Loop(void) : m_loop(0), m_currentEdge(0) {}
         };
 
 
         class BRLCAD_COREINTERFACE_EXPORT Face {
         public:
-            Face(const Face& original) throw() : m_face(original.m_face), m_currentLoop(original.m_currentLoop) {}
+            Face(const Face& original) : m_face(original.m_face), m_currentLoop(original.m_currentLoop) {}
 
-            ~Face(void) throw() {}
+            ~Face(void) {}
 
-            const Face& operator=(const Face& original) throw() {
+            const Face& operator=(const Face& original) {
                 m_face        = original.m_face;
                 m_currentLoop = original.m_currentLoop;
 
@@ -168,14 +168,14 @@
                 return *this;
             }
 
-                        operator const void*(void) const throw() {
+                        operator const void*(void) const {
                 return m_face;
             }
 
             // it's an iterator
-            void        GotoFirstLoop(void) throw();
-            const Face& operator++(void) throw();
-            Loop        CurrentLoop(void) const throw();
+            void        GotoFirstLoop(void);
+            const Face& operator++(void);
+            Loop        CurrentLoop(void) const;
 
         private:
             const faceuse* m_face;
@@ -184,21 +184,21 @@
             friend class Shell;
             friend class NonManifoldGeometry;
 
-            Face(void) throw() : m_face(0), m_currentLoop(0) {}
+            Face(void) : m_face(0), m_currentLoop(0) {}
         };
 
 
         class BRLCAD_COREINTERFACE_EXPORT Shell {
         public:
-            Shell(const Shell& original) throw() : m_shell(original.m_shell),
+            Shell(const Shell& original) : m_shell(original.m_shell),
                                                    m_currentFace(original.m_currentFace),
                                                    m_currentLoop(original.m_currentLoop),
                                                    m_currentEdge(original.m_currentEdge),
                                                    m_currentVertex(original.m_currentVertex) {}
 
-            ~Shell(void) throw() {}
+            ~Shell(void) {}
 
-            const Shell& operator=(const Shell& original) throw() {
+            const Shell& operator=(const Shell& original) {
                 m_shell         = original.m_shell;
                 m_currentFace   = original.m_currentFace;
                 m_currentLoop   = original.m_currentLoop;
@@ -208,26 +208,26 @@
                 return *this;
             }
 
-                        operator const void*(void) const throw() {
+                        operator const void*(void) const {
                 return m_shell;
             }
 
             // in fact it's a multiple iterator
-            void         GotoFirstFace(void) throw();
-            const Shell& GotoNextFace(void) throw();
-            Face         CurrentFace(void) const throw();
+            void         GotoFirstFace(void);
+            const Shell& GotoNextFace(void);
+            Face         CurrentFace(void) const;
 
-            void         GotoFirstLoop(void) throw();
-            const Shell& GotoNextLoop(void) throw();
-            Loop         CurrentLoop(void) const throw();
+            void         GotoFirstLoop(void);
+            const Shell& GotoNextLoop(void);
+            Loop         CurrentLoop(void) const;
 
-            void         GotoFirstEdge(void) throw();
-            const Shell& GotoNextEdge(void) throw();
-            Edge         CurrentEdge(void) const throw();
+            void         GotoFirstEdge(void);
+            const Shell& GotoNextEdge(void);
+            Edge         CurrentEdge(void) const;
 
-            void         GotoFirstVertex(void) throw();
-            const Shell& GotoNextVertex(void) throw();
-            Vertex       CurrentVertex(void) const throw();
+            void         GotoFirstVertex(void);
+            const Shell& GotoNextVertex(void);
+            Vertex       CurrentVertex(void) const;
 
         private:
             const shell*     m_shell;
@@ -239,17 +239,17 @@
             friend class Region;
             friend class NonManifoldGeometry;
 
-            Shell(void) throw() : m_shell(0), m_currentFace(0), m_currentLoop(0), m_currentEdge(0), m_currentVertex(0) {}
+            Shell(void) : m_shell(0), m_currentFace(0), m_currentLoop(0), m_currentEdge(0), m_currentVertex(0) {}
         };
 
 
         class BRLCAD_COREINTERFACE_EXPORT Region {
         public:
-            Region(const Region& original) throw() : m_region(original.m_region), m_currentShell(original.m_currentShell) {}
+            Region(const Region& original) : m_region(original.m_region), m_currentShell(original.m_currentShell) {}
 
-            ~Region(void) throw() {}
+            ~Region(void) {}
 
-            const Region& operator=(const Region& original) throw() {
+            const Region& operator=(const Region& original) {
                 m_region       = original.m_region;
                 m_currentShell = original.m_currentShell;
 
@@ -256,14 +256,14 @@
                 return *this;
             }
 
-                        operator const void*(void) const throw() {
+                        operator const void*(void) const {
                 return m_region;
             }
 
             // it's an iterator
-            void          GotoFirstShell(void) throw();
-            const Region& operator++(void) throw();
-            Shell         CurrentShell(void) const throw();
+            void          GotoFirstShell(void);
+            const Region& operator++(void);
+            Shell         CurrentShell(void) const;
 
         private:
             const nmgregion* m_region;
@@ -271,7 +271,7 @@
 
             friend class RegionIterator;
 
-            Region(void) throw() : m_region(0), m_currentShell(0) {}
+            Region(void) : m_region(0), m_currentShell(0) {}
         };
 
 
@@ -279,11 +279,11 @@
         // i.e. a const NonManifoldGeometry can be used to iterate over the structure
         class BRLCAD_COREINTERFACE_EXPORT RegionIterator {
         public:
-            RegionIterator(const RegionIterator& original) throw() : m_model(original.m_model), m_currentRegion(original.m_currentRegion) {}
+            RegionIterator(const RegionIterator& original) : m_model(original.m_model), m_currentRegion(original.m_currentRegion) {}
 
-            ~RegionIterator(void) throw() {}
+            ~RegionIterator(void) {}
 
-            const RegionIterator& operator=(const RegionIterator& original) throw() {
+            const RegionIterator& operator=(const RegionIterator& original) {
                 m_model         = original.m_model;
                 m_currentRegion = original.m_currentRegion;
 
@@ -291,9 +291,9 @@
             }
 
             // it's an iterator
-            void                  GotoFirstRegion(void) throw();
-            const RegionIterator& operator++(void) throw();
-            Region                CurrentRegion(void) const throw();
+            void                  GotoFirstRegion(void);
+            const RegionIterator& operator++(void);
+            Region                CurrentRegion(void) const;
 
         private:
             const model*     m_model;
@@ -301,95 +301,95 @@
 
             friend class NonManifoldGeometry;
 
-            RegionIterator(void) throw() : m_model(0), m_currentRegion(0) {}
+            RegionIterator(void) : m_model(0), m_currentRegion(0) {}
         };
 
 
         // Basic Operations
         /*
-        Region       MakeRegion(void) throw(); // 0
+        Region       MakeRegion(void); // 0
 
-        Shell        MakeShell(Region, Vector3D& firstVertex) throw(bad_alloc); // nmg_msv(region)
+        Shell        MakeShell(Region, Vector3D& firstVertex) ; // nmg_msv(region)
 
         /// creates a new edge by connecting an existing vertex and reusing onother one
         Edge         MakeEdgeVertex(Vetrex& vertexAlreadyInShell,
-                                    Vetex&  vertexToAdd) throw(bad_alloc); // mmg_me(vertex, vertex, shell)
+                                    Vetex&  vertexToAdd) ; // mmg_me(vertex, vertex, shell)
         /// creates a new edge by connecting an existing vertex with a new one
         Edge         MakeEdgeVertex(Vetrex& vertexAlreadyInShell,
-                                    Vector3D&  vertexToAdd) throw(bad_alloc); // mmg_me(vertex, vertex, shell)
+                                    Vector3D&  vertexToAdd) ; // mmg_me(vertex, vertex, shell)
 
         /// creates a loop existing of one vertex by reusing one
-        Loop         MakeVertexLoop(Vetex& vertexToAdd) throw(bad_alloc);
+        Loop         MakeVertexLoop(Vetex& vertexToAdd) ;
         /// creates a loop existing of one vertex by adding a new one
-        Loop         MakeVertexLoop(Vector3D& vertexToAdd) throw(bad_alloc);
+        Loop         MakeVertexLoop(Vector3D& vertexToAdd) ;
 
         /// creates a loop by connecting two vertices
         Edge         MakeEdgeLoop(Vetrex& firstVertexToConnect,
-                                  Vertex& secondVertexToConnect) throw(bad_alloc);
+                                  Vertex& secondVertexToConnect) ;
 
         /// creates a face by using a loop as its boundary
         /// after this the loop isn't more a 1D subset of the manifold
-        Face   MakeFaceKillLoop(Loop& loopToConvert) throw(bad_alloc);
+        Face   MakeFaceKillLoop(Loop& loopToConvert) ;
         */
 
         // Extended Operations
         /*
         Vertex       SplitEdgeMakeVertex(EdgeUse&  edgeToSplit,
-                                         Vetex&    vertexToInsert) throw(bad_alloc);
+                                         Vetex&    vertexToInsert) ;
         Vertex       SplitEdgeMakeVertex(EdgeUse&  edgeToSplit,
-                                         Vector3D& vertexToInsert) throw(bad_alloc);
+                                         Vector3D& vertexToInsert) ;
 
         /// creates a new face from an existing one by dividing it with an additional edge
         Edge         MakeEdgeFace(Vetrex& firstVertexToConnect,
-                              Vertex& secondVertexToConnect) throw(bad_alloc);
+                              Vertex& secondVertexToConnect) ;
         /// connects two faces to form a new common one by removing a common edge
-        Face         KillEdgeFace(Edge& edgeToRemove) throw();
+        Face         KillEdgeFace(Edge& edgeToRemove);
 
         /// creates a new loop from an existing one by removing a "double-edge"
-        Loop         KillEdgeMakeLoop(Edge& edgeToRemove) throw();
+        Loop         KillEdgeMakeLoop(Edge& edgeToRemove);
         /// joins two loops by creating an edge between a point of each loop
         Loop         MakeEdgeKillLoop(Vetrex& firstVertexToConnect,
-                                      Vertex& secondVertexToConnect) throw(bad_alloc);
+                                      Vertex& secondVertexToConnect) ;
         */
-        void         Triangulate(void) throw(bad_alloc);
-        void         Triangulate(Shell& shellToTrinagulate) throw(bad_alloc);
-        void         Triangulate(Face& faceToTrinagulate) throw(bad_alloc);
+        void         Triangulate(void);
+        void         Triangulate(Shell& shellToTrinagulate);
+        void         Triangulate(Face& faceToTrinagulate);
 
         // Destruction Operations
         /*
-        void         KillRegion(Region& regionToRemove) throw();
-        void         KillShell(Shell& shellToRemove) throw();
+        void         KillRegion(Region& regionToRemove);
+        void         KillShell(Shell& shellToRemove);
 
         /// if the vertex is unconnected: the objects (vertex, loop with itself, ...) are removed
         /// if the vertex is connected with one other by an edge: the edge well be removed too
         /// if the vertex is connected with two othe vertices by edges: these two other vertices will be connected by an edge
-        Edge         KillVertex(Vetrex& vertexToRemove) throw();
+        Edge         KillVertex(Vetrex& vertexToRemove);
 
         /// in a loop: opens the loop
         /// if the edge is between two faces: the faces  wil be connected to form a new common one
-        Face         KillEdge(Edge& edgeToRemove) throw();
+        Face         KillEdge(Edge& edgeToRemove);
 
-        void         KillLoop(Loop* loopToRemove) throw();
+        void         KillLoop(Loop* loopToRemove);
 
         /// makes a loop from the face and removes the face
-        Loop         KillFaceMakeLoop(Face& faceToConvert) throw();
+        Loop         KillFaceMakeLoop(Face& faceToConvert);
         */
 
         // iterate over the regions
-        RegionIterator             Regions(void) const throw();
+        RegionIterator             Regions(void) const;
 
         // inherited from BRLCAD::Object
-        virtual const Object&      operator=(const Object& original) throw(bad_alloc);
-        virtual Object*            Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*         ClassName(void) throw();
-        virtual const char*        Type(void) const throw();
-        virtual bool               IsValid(void) const throw();
+        virtual const Object&      operator=(const Object& original);
+        virtual Object*            Clone(void) const;
+        static const char*         ClassName(void);
+        virtual const char*        Type(void) const;
+        virtual bool               IsValid(void) const;
 
     protected:
         NonManifoldGeometry(resource*       resp,
                             directory*      pDir,
                             rt_db_internal* ip,
-                            db_i*           dbip = 0) throw();
+                            db_i*           dbip = 0);
 
         friend class ConstDatabase;
 
@@ -397,8 +397,8 @@
         // holds Objects's content if not connected to a database
         model* m_internalp;
 
-        const model* Internal(void) const throw();
-        model*       Internal(void) throw();
+        const model* Internal(void) const;
+        model*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/ParabolicCylinder.h
===================================================================
--- include/brlcad/ParabolicCylinder.h	(revision 74453)
+++ include/brlcad/ParabolicCylinder.h	(working copy)
@@ -39,45 +39,45 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT ParabolicCylinder : public Object {
     public:
-        ParabolicCylinder(void) throw(bad_alloc); ///< Constructs a parabolic cylinder at origin with unit height unit depth and unit half width
+        ParabolicCylinder(void); ///< Constructs a parabolic cylinder at origin with unit height unit depth and unit half width
         ParabolicCylinder(const Vector3D& basePoint,
                           const Vector3D& height,
                           const Vector3D& depth,
-                          double          halfWidth) throw(bad_alloc);
-        ParabolicCylinder(const ParabolicCylinder& original) throw(bad_alloc);
-        virtual ~ParabolicCylinder(void) throw();
+                          double          halfWidth);
+        ParabolicCylinder(const ParabolicCylinder& original);
+        virtual ~ParabolicCylinder(void);
 
-        const ParabolicCylinder& operator=(const ParabolicCylinder& original) throw(bad_alloc);
+        const ParabolicCylinder& operator=(const ParabolicCylinder& original);
 
-        Vector3D                 BasePoint(void) const throw();
-        void                     SetBasePoint(const Vector3D& basePoint) throw();
+        Vector3D                 BasePoint(void) const;
+        void                     SetBasePoint(const Vector3D& basePoint);
 
-        Vector3D                 Height(void) const throw();
-        void                     SetHeight(const Vector3D& height) throw();
+        Vector3D                 Height(void) const;
+        void                     SetHeight(const Vector3D& height);
 
-        Vector3D                 Depth(void) const throw();
-        void                     SetDepth(const Vector3D& depth) throw();
+        Vector3D                 Depth(void) const;
+        void                     SetDepth(const Vector3D& depth);
 
-        double                   HalfWidth(void) const throw();
-        void                     SetHalfWidth(double length) throw();
+        double                   HalfWidth(void) const;
+        void                     SetHalfWidth(double length);
 
         void                     Set(const Vector3D& basePoint,
                                      const Vector3D& height,
                                      const Vector3D& depth,
-                                     double          halfWidth) throw();
+                                     double          halfWidth);
 
         // inherited from BRLCAD::Object
-        virtual const Object&    operator=(const Object& original) throw(bad_alloc);
-        virtual Object*          Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*       ClassName(void) throw();
-        virtual const char*      Type(void) const throw();
-        virtual bool             IsValid(void) const throw(); ///< checks for positive length of height and depth, positive value of half width and that height and depth are perpendicular
+        virtual const Object&    operator=(const Object& original);
+        virtual Object*          Clone(void) const;
+        static const char*       ClassName(void);
+        virtual const char*      Type(void) const;
+        virtual bool             IsValid(void) const; ///< checks for positive length of height and depth, positive value of half width and that height and depth are perpendicular
 
     protected:
         ParabolicCylinder(resource*       resp,
                           directory*      pDir,
                           rt_db_internal* ip,
-                          db_i*           dbip) throw();
+                          db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -84,8 +84,8 @@
     private:
         rt_rpc_internal* m_internalp;
 
-        rt_rpc_internal*       Internal(void) throw();
-        const rt_rpc_internal* Internal(void) const throw();
+        rt_rpc_internal*       Internal(void);
+        const rt_rpc_internal* Internal(void) const;
 
         friend class Database;
     };
Index: include/brlcad/Paraboloid.h
===================================================================
--- include/brlcad/Paraboloid.h	(revision 74453)
+++ include/brlcad/Paraboloid.h	(working copy)
@@ -39,63 +39,63 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Paraboloid : public Object {
     public:
-        Paraboloid(void) throw(bad_alloc);                                ///< constructs a paraboloid with unit height at origin with a circular base
+        Paraboloid(void);                                ///< constructs a paraboloid with unit height at origin with a circular base
         Paraboloid(const Vector3D& basePoint,
                    const Vector3D& height,
                    const Vector3D& semiMajorAxis,
-                   double          semiMinorAxisLength) throw(bad_alloc); ///< length an direction of vector semi major axis used
+                   double          semiMinorAxisLength); ///< length an direction of vector semi major axis used
         Paraboloid(const Vector3D& basePoint,
                    const Vector3D& height,
                    const Vector3D& semiMajorAxisDirection,
                    double          semiMajorAxisLength,
-                   double          semiMinorAxisLength) throw(bad_alloc); ///< semi major axis will be unitized and length of semi major axis is given by semiMajorAxisLength
-        Paraboloid(const Paraboloid& original) throw(bad_alloc);
-        virtual ~Paraboloid(void) throw();
+                   double          semiMinorAxisLength); ///< semi major axis will be unitized and length of semi major axis is given by semiMajorAxisLength
+        Paraboloid(const Paraboloid& original);
+        virtual ~Paraboloid(void);
 
-        const Paraboloid&     operator=(const Paraboloid& original) throw(bad_alloc);
+        const Paraboloid&     operator=(const Paraboloid& original);
 
-        Vector3D              BasePoint(void) const throw();
-        void                  SetBasePoint(const Vector3D& point) throw();
+        Vector3D              BasePoint(void) const;
+        void                  SetBasePoint(const Vector3D& point);
 
-        Vector3D              Height(void) const throw();
-        void                  SetHeight(const Vector3D& height) throw();
+        Vector3D              Height(void) const;
+        void                  SetHeight(const Vector3D& height);
 
-        Vector3D              SemiMajorAxis(void) const throw();
-        void                  SetSemiMajorAxis(const Vector3D& axis) throw();
+        Vector3D              SemiMajorAxis(void) const;
+        void                  SetSemiMajorAxis(const Vector3D& axis);
         void                  SetSemiMajorAxis(const Vector3D& direction,
-                                               double          length) throw();
+                                               double          length);
 
-        Vector3D              SemiMajorAxisDirection(void) const throw();
-        void                  SetSemiMajorAxisDirection(const Vector3D& direction) throw();
+        Vector3D              SemiMajorAxisDirection(void) const;
+        void                  SetSemiMajorAxisDirection(const Vector3D& direction);
 
-        double                SemiMajorAxisLength(void) const throw();
-        void                  SetSemiMajorAxisLength(double length) throw();
+        double                SemiMajorAxisLength(void) const;
+        void                  SetSemiMajorAxisLength(double length);
 
-        double                SemiMinorAxisLength(void) const throw();
-        void                  SetSemiMinorAxisLength(double length) throw();
+        double                SemiMinorAxisLength(void) const;
+        void                  SetSemiMinorAxisLength(double length);
 
         void                  Set(const Vector3D& basePoint,
                                   const Vector3D& height,
                                   const Vector3D& semiMajorAxis,
-                                  double          semiMinorAxisLength) throw();
+                                  double          semiMinorAxisLength);
         void                  Set(const Vector3D& basePoint,
                                   const Vector3D& height,
                                   const Vector3D& semiMajorAxisDirection,
                                   double          semiMajorAxisLength,
-                                  double          semiMinorAxisLength) throw();
+                                  double          semiMinorAxisLength);
 
         // inherited from BRLCAD::Object
-        virtual const Object& operator=(const Object& original) throw(bad_alloc);
-        virtual Object*       Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*    ClassName(void) throw();
-        virtual const char*   Type(void) const throw();
-        virtual bool          IsValid(void) const throw(); ///< checks for positive height, unit length of internal semi major axis vector, semi minor axis is not longer than semi major axis, both are nonzero and height and semi major axis are perpendicular
+        virtual const Object& operator=(const Object& original);
+        virtual Object*       Clone(void) const;
+        static const char*    ClassName(void);
+        virtual const char*   Type(void) const;
+        virtual bool          IsValid(void) const; ///< checks for positive height, unit length of internal semi major axis vector, semi minor axis is not longer than semi major axis, both are nonzero and height and semi major axis are perpendicular
 
     protected:
         Paraboloid(resource*       resp,
                    directory*      pDir,
                    rt_db_internal* ip,
-                   db_i*           dbip) throw();
+                   db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -102,8 +102,8 @@
     private:
         rt_epa_internal* m_internalp;
 
-        rt_epa_internal*       Internal(void) throw();
-        const rt_epa_internal* Internal(void) const throw();
+        rt_epa_internal*       Internal(void);
+        const rt_epa_internal* Internal(void) const;
 
         friend class Database;
     };
Index: include/brlcad/Particle.h
===================================================================
--- include/brlcad/Particle.h	(revision 74453)
+++ include/brlcad/Particle.h	(working copy)
@@ -39,45 +39,45 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Particle : public Object {
     public:
-        Particle(void) throw(bad_alloc);  ///< constructs a particle at the origin with hight (0, 0, 1) and radii 1
+        Particle(void);  ///< constructs a particle at the origin with hight (0, 0, 1) and radii 1
         Particle(const Vector3D& basePoint,
                  const Vector3D& height,
                  double          baseRadius,
-                 double          topRadius) throw(bad_alloc);
-        Particle(const Particle& original) throw(bad_alloc);
-        virtual ~Particle(void) throw();
+                 double          topRadius);
+        Particle(const Particle& original);
+        virtual ~Particle(void);
 
-        const Particle&       operator=(const Particle& original) throw(bad_alloc);
+        const Particle&       operator=(const Particle& original);
 
-        Vector3D              BasePoint(void) const throw();
-        void                  SetBasePoint(const Vector3D& basePoint) throw();
+        Vector3D              BasePoint(void) const;
+        void                  SetBasePoint(const Vector3D& basePoint);
 
-        Vector3D              Height(void) const throw();
-        void                  SetHeight(const Vector3D& height) throw();
+        Vector3D              Height(void) const;
+        void                  SetHeight(const Vector3D& height);
 
-        double                BaseRadius(void) const throw();
-        void                  SetBaseRadius(double baseRadius) throw();
+        double                BaseRadius(void) const;
+        void                  SetBaseRadius(double baseRadius);
 
-        double                TopRadius(void) const throw();
-        void                  SetTopRadius(double topRadius) throw();
+        double                TopRadius(void) const;
+        void                  SetTopRadius(double topRadius);
 
         void                  Set(const Vector3D& basePoint,
                                   const Vector3D& height,
                                   double          baseRadius,
-                                  double          topRadius) throw();
+                                  double          topRadius);
 
         // inherited from BRLCAD::Object
-        virtual const Object& operator=(const Object& original) throw(bad_alloc);
-        virtual Object*       Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*    ClassName(void) throw();
-        virtual const char*   Type(void) const throw();
-        virtual bool          IsValid(void) const throw(); ///< checks for positive radii, one radius > 0 and if the height is 0 the radii have to be equal
+        virtual const Object& operator=(const Object& original);
+        virtual Object*       Clone(void) const;
+        static const char*    ClassName(void);
+        virtual const char*   Type(void) const;
+        virtual bool          IsValid(void) const; ///< checks for positive radii, one radius > 0 and if the height is 0 the radii have to be equal
 
     protected:
         Particle(resource*       resp,
                  directory*      pDir,
                  rt_db_internal* ip,
-                 db_i*           dbip) throw();
+                 db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -84,10 +84,10 @@
     private:
         rt_part_internal* m_internalp;
 
-        void                    SetType(void) throw();
+        void                    SetType(void);
 
-        const rt_part_internal* Internal(void) const throw();
-        rt_part_internal*       Internal(void) throw();
+        const rt_part_internal* Internal(void) const;
+        rt_part_internal*       Internal(void);
 
         friend class Database;
     };
