Index: src/coreInterface/Unknown.cpp
===================================================================
--- src/coreInterface/Unknown.cpp	(revision 74453)
+++ src/coreInterface/Unknown.cpp	(working copy)
@@ -38,16 +38,16 @@
 Unknown::Unknown
 (
     const Unknown& original
-) throw(bad_alloc) : Object(original) {}
+) : Object(original) {}
 
 
-Unknown::~Unknown(void) throw() {}
+Unknown::~Unknown(void) {}
 
 
 const Unknown& Unknown::operator=
 (
     const Unknown& original
-) throw(bad_alloc) {
+) {
     Copy(original);
 
     return *this;
@@ -57,7 +57,7 @@
 const Object& Unknown::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Unknown* unknown = dynamic_cast<const Unknown*>(&original);
     assert(unknown != 0);
 
@@ -68,22 +68,22 @@
 }
 
 
-Object* Unknown::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Unknown::Clone(void) const {
     return new Unknown(*this);
 }
 
 
-const char* Unknown::ClassName(void) throw() {
+const char* Unknown::ClassName(void) {
     return "Unknown";
 }
 
 
-const char* Unknown::Type(void) const throw() {
+const char* Unknown::Type(void) const {
     return ClassName();
 }
 
 
-bool Unknown::IsValid(void) const throw() {
+bool Unknown::IsValid(void) const {
     return Validate(); // the opportunistic solution
 }
 
@@ -94,4 +94,4 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : Object(resp, pDir, ip, dbip) {}
+) : Object(resp, pDir, ip, dbip) {}
Index: src/coreInterface/Torus.cpp
===================================================================
--- src/coreInterface/Torus.cpp	(revision 74453)
+++ src/coreInterface/Torus.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-Torus::Torus(void) throw(bad_alloc) : Object() {
+Torus::Torus(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_tor_internal);
         m_internalp->magic = RT_TOR_INTERNAL_MAGIC;
@@ -48,7 +48,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Torus::Torus");
     }
 
     BU_UNSETJUMP;
@@ -61,7 +60,7 @@
     const Vector3D& normalToTubeCenterLinePlane,
     double          tubeCenterLineRadius,
     double          tubeRadius
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_tor_internal);
         m_internalp->magic = RT_TOR_INTERNAL_MAGIC;
@@ -70,7 +69,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Torus::Torus");
     }
 
     BU_UNSETJUMP;
@@ -80,7 +78,7 @@
 Torus::Torus
 (
     const Torus& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_tor_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_tor_internal));
@@ -87,7 +85,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Torus::Torus");
     }
 
     BU_UNSETJUMP;
@@ -94,7 +91,7 @@
 }
 
 
-Torus::~Torus(void) throw() {
+Torus::~Torus(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Torus::~Torus::m_internalp");
 }
@@ -103,7 +100,7 @@
 const Torus& Torus::operator =
 (
     const Torus& original
-) throw(bad_alloc) {
+) {
     if (&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_tor_internal));
@@ -113,7 +110,7 @@
 }
 
 
-Vector3D Torus::Center(void) const throw() {
+Vector3D Torus::Center(void) const {
     return Vector3D(Internal()->v);
 }
 
@@ -121,12 +118,12 @@
 void Torus::SetCenter
 (
     const Vector3D& center
-) throw() {
+) {
     VMOVE(Internal()->v, center.coordinates);
 }
 
 
-Vector3D Torus::Normal(void) const throw(){
+Vector3D Torus::Normal(void) const{
     return Vector3D(Internal()->h);
 }
 
@@ -134,7 +131,7 @@
 void Torus::SetNormal
 (
     const Vector3D& normal
-) throw() {
+) {
     assert(!VNEAR_ZERO(normal.coordinates, SMALL_FASTF));
 
     VMOVE(Internal()->h, normal.coordinates);
@@ -142,7 +139,7 @@
 }
 
 
-double Torus::TubeCenterLineRadius(void) const throw() {
+double Torus::TubeCenterLineRadius(void) const {
     return Internal()->r_a;
 }
 
@@ -150,12 +147,12 @@
 void Torus::SetTubeCenterLineRadius
 (
     double radius
-) throw(){
+){
     Internal()->r_a = radius;
 }
 
 
-double Torus::TubeRadius(void) const throw(){
+double Torus::TubeRadius(void) const{
     return Internal()->r_h;
 }
 
@@ -163,7 +160,7 @@
 void Torus::SetTubeRadius
 (
     double radius
-) throw() {
+) {
     Internal()->r_h = radius;
 }
 
@@ -174,7 +171,7 @@
     const Vector3D& normalToTubeCenterLinePlane,
     double          tubeCenterLineRadius,
     double          tubeRadius
-) throw() {
+) {
         rt_tor_internal* internalp = Internal();
 
         VMOVE(internalp->v, center.coordinates);
@@ -191,7 +188,7 @@
 const Object& Torus::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Torus* tor = dynamic_cast<const Torus*>(&original);
     assert(tor != 0);
 
@@ -202,22 +199,22 @@
 }
 
 
-Object* Torus::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Torus::Clone(void) const {
     return new Torus(*this);
 }
 
 
-const char* Torus::ClassName(void) throw() {
+const char* Torus::ClassName(void) {
     return "Torus";
 }
 
 
-const char* Torus::Type(void) const throw() {
+const char* Torus::Type(void) const {
     return ClassName();
 }
 
 
-bool Torus::IsValid(void) const throw() {
+bool Torus::IsValid(void) const {
     bool                   ret       = false;
     const rt_tor_internal* internalp = Internal();
 
@@ -237,10 +234,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 rt_tor_internal* Torus::Internal(void) const throw() {
+const rt_tor_internal* Torus::Internal(void) const {
     const rt_tor_internal* ret;
 
     if (m_ip != 0)
@@ -254,7 +251,7 @@
 }
 
 
-rt_tor_internal* Torus::Internal(void) throw() {
+rt_tor_internal* Torus::Internal(void) {
     rt_tor_internal* ret;
 
     if(m_ip != 0)
Index: src/coreInterface/Sphere.cpp
===================================================================
--- src/coreInterface/Sphere.cpp	(revision 74453)
+++ src/coreInterface/Sphere.cpp	(working copy)
@@ -35,7 +35,7 @@
 using namespace BRLCAD;
 
 
-Sphere::Sphere(void) throw(bad_alloc) : Object() {
+Sphere::Sphere(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -43,7 +43,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sphere::Sphere");
     }
 
     BU_UNSETJUMP;
@@ -54,7 +53,7 @@
 (
     const Vector3D& center,
     double          radius
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -62,7 +61,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sphere::Sphere");
     }
 
     BU_UNSETJUMP;
@@ -72,7 +70,7 @@
 Sphere::Sphere
 (
     const Sphere& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_ell_internal));
@@ -79,7 +77,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sphere::Sphere");
     }
 
     BU_UNSETJUMP;
@@ -90,13 +87,13 @@
 Sphere::~Sphere
 (
     void
-) throw() {
+) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Sphere::~Sphere::m_internalp");
 }
 
 
-const Sphere& Sphere::operator=(const Sphere& original) throw(bad_alloc) {
+const Sphere& Sphere::operator=(const Sphere& original) {
     if (&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_ell_internal));
@@ -109,7 +106,7 @@
 const Object& Sphere::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Sphere* sph = dynamic_cast<const Sphere*>(&original);
     assert(sph != 0);
 
@@ -120,22 +117,22 @@
 }
 
 
-Vector3D Sphere::Center(void) const throw() {
+Vector3D Sphere::Center(void) const {
     return Vector3D(Internal()->v);
 }
 
 
-void Sphere::SetCenter(const Vector3D& center) throw(){
+void Sphere::SetCenter(const Vector3D& center){
     VMOVE(Internal()->v, center.coordinates);
 }
 
 
-double Sphere::Radius(void) const throw() {
+double Sphere::Radius(void) const {
     return MAGNITUDE(Internal()->a);;
 }
 
 
-void Sphere::SetRadius(double radius) throw() {
+void Sphere::SetRadius(double radius) {
     assert(radius > SMALL_FASTF);
 
     if (!NEAR_ZERO(radius, SMALL_FASTF)) {
@@ -152,7 +149,7 @@
 (
     const Vector3D& center,
     double          radius
-) throw() {
+) {
     assert(radius > SMALL_FASTF);
 
     if (!NEAR_ZERO(radius, SMALL_FASTF)) {
@@ -166,22 +163,22 @@
 }
 
 
-Object* Sphere::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Sphere::Clone(void) const {
     return new Sphere(*this);
 }
 
 
-const char* Sphere::ClassName(void) throw() {
+const char* Sphere::ClassName(void) {
     return "Sphere";
 }
 
 
-const char* Sphere::Type(void) const throw() {
+const char* Sphere::Type(void) const {
     return ClassName();
 }
 
 
-bool Sphere::IsValid(void) const throw() {
+bool Sphere::IsValid(void) const {
     bool   ret                        = false;
     const  rt_ell_internal* internalp = Internal();
     double dist                       = 0.0005 * 0.0005;
@@ -206,10 +203,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 rt_ell_internal* Sphere::Internal(void) const throw() {
+const rt_ell_internal* Sphere::Internal(void) const {
     const rt_ell_internal* ret;
 
     if (m_ip != 0)
@@ -223,7 +220,7 @@
 }
 
 
-rt_ell_internal* Sphere::Internal(void) throw() {
+rt_ell_internal* Sphere::Internal(void) {
     rt_ell_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/Sketch.cpp
===================================================================
--- src/coreInterface/Sketch.cpp	(revision 74453)
+++ src/coreInterface/Sketch.cpp	(working copy)
@@ -159,7 +159,7 @@
 (
     void*               segment,
     rt_sketch_internal* sketch
-) throw(bad_alloc) {
+) {
     if (sketch->curve.count == 0) {
         sketch->curve.reverse = static_cast<int*>(bu_malloc(sizeof(int), "Sketch::AppendLine: reverse"));
         sketch->curve.segment = static_cast<void**>(bu_malloc(sizeof(void*), "Sketch::AppendLine: segment"));
@@ -184,7 +184,7 @@
     void*               segment,
     size_t              index,
     rt_sketch_internal* sketch
-) throw(bad_alloc) {
+) {
     assert(sketch->curve.count > 0);
 
     sketch->curve.reverse = static_cast<int*>(bu_realloc(sketch->curve.reverse,
@@ -203,7 +203,7 @@
 };
 
 
-Sketch::Sketch(void) throw(bad_alloc) : Object() {
+Sketch::Sketch(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_sketch_internal);
         m_internalp->magic = RT_SKETCH_INTERNAL_MAGIC;
@@ -212,7 +212,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sphere::Sphere");
     }
 
     BU_UNSETJUMP;
@@ -222,12 +221,11 @@
 Sketch::Sketch
 (
     const Sketch& original
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP)
         m_internalp = rt_copy_sketch(original.Internal());
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sketch::Sketch");
     }
 
     BU_UNSETJUMP;
@@ -235,7 +233,7 @@
 };
 
 
-Sketch::~Sketch(void) throw() {
+Sketch::~Sketch(void) {
     if (m_internalp != 0) {
         if (m_internalp->verts != 0)
             bu_free(m_internalp->verts, "BRLCAD::Sketch::~Sketch::m_internalp->verts");
@@ -249,7 +247,7 @@
 
 const Sketch& Sketch::operator=(
     const Sketch& original
-) throw(bad_alloc) {
+) {
     if (&original != this) {
         Copy(original);
 
@@ -270,7 +268,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::operator=");
         }
 
         BU_UNSETJUMP;
@@ -284,7 +281,7 @@
 // Segment class
 //
 
-void Sketch::Segment::Destroy(void) throw() {
+void Sketch::Segment::Destroy(void) {
     delete this;
 }
 
@@ -293,7 +290,7 @@
 // Line class
 //
 
-Sketch::Segment::SegmentType Sketch::Line::Type(void) const throw() {
+Sketch::Segment::SegmentType Sketch::Line::Type(void) const {
      Sketch::Segment::SegmentType ret = Sketch::Segment::Null;
 
     if ((m_lineSegment != 0) && (m_sketch != 0))
@@ -304,12 +301,12 @@
 };
 
 
-Sketch::Segment* Sketch::Line::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Sketch::Segment* Sketch::Line::Clone(void) const {
     return new Line(*this);
 };
 
 
-Vector2D Sketch::Line::StartPoint(void) const throw() {
+Vector2D Sketch::Line::StartPoint(void) const {
     assert(m_lineSegment != 0);
     assert(m_sketch != 0);
 
@@ -325,7 +322,7 @@
 void Sketch::Line::SetStartPoint
 (
         const Vector2D& startPoint
-) throw(bad_alloc) {
+) {
     assert(m_lineSegment != 0);
     assert(m_sketch != 0);
 
@@ -334,7 +331,6 @@
             SwapVertex(m_lineSegment->start, startPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Line::SetStartPoint");
         }
 
         BU_UNSETJUMP;
@@ -342,7 +338,7 @@
 };
 
 
-Vector2D Sketch::Line::EndPoint(void) const throw() {
+Vector2D Sketch::Line::EndPoint(void) const {
     assert(m_lineSegment != 0);
     assert(m_sketch != 0);
 
@@ -358,7 +354,7 @@
 void Sketch::Line::SetEndPoint
 (
         const Vector2D& endPoint
-) throw(bad_alloc) {
+) {
     assert(m_lineSegment != 0);
     assert(m_sketch != 0);
 
@@ -367,7 +363,6 @@
             SwapVertex(m_lineSegment->end, endPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Line::SetEndPoint");
         }
 
         BU_UNSETJUMP;
@@ -379,7 +374,7 @@
 // CircularArc class
 //
 
-Vector3D Sketch::CircularArc::Center(void) const throw() {
+Vector3D Sketch::CircularArc::Center(void) const {
     Vector3D ret;
 
     assert(m_circularArcSegment != 0);
@@ -405,7 +400,7 @@
 
 void Sketch::CircularArc::SetCenter(
     Vector2D c
-) throw(bad_alloc) {
+) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
 
@@ -415,7 +410,6 @@
             SwapVertex(m_circularArcSegment->center, c.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::CircularArc::SetCenter");
         }
 
         BU_UNSETJUMP;
@@ -423,7 +417,7 @@
 }
 
 
-Sketch::Segment::SegmentType Sketch::CircularArc::Type(void) const throw() {
+Sketch::Segment::SegmentType Sketch::CircularArc::Type(void) const {
      Sketch::Segment::SegmentType ret = Sketch::Segment::Null;
 
     if ((m_circularArcSegment != 0) && (m_sketch != 0))
@@ -433,12 +427,12 @@
 
 };
 
-Sketch::Segment* Sketch::CircularArc::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Sketch::Segment* Sketch::CircularArc::Clone(void) const {
     return new CircularArc(*this);
 };
 
 
-Vector2D Sketch::CircularArc::StartPoint(void) const throw() {
+Vector2D Sketch::CircularArc::StartPoint(void) const {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
 
@@ -454,7 +448,7 @@
 void Sketch::CircularArc::SetStartPoint
 (
         const Vector2D& startPoint
-) throw(bad_alloc) {
+) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
 
@@ -464,7 +458,6 @@
             SwapVertex(m_circularArcSegment->start, startPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::CircularArc::SetStartPoint");
         }
 
         BU_UNSETJUMP;
@@ -472,7 +465,7 @@
 };
 
 
-Vector2D Sketch::CircularArc::EndPoint(void) const throw() {
+Vector2D Sketch::CircularArc::EndPoint(void) const {
     return Vector2D(m_sketch->verts[m_circularArcSegment->end]);
 };
 
@@ -480,7 +473,7 @@
 void Sketch::CircularArc::SetEndPoint
 (
         const Vector2D& endPoint
-) throw(bad_alloc) {
+) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
 
@@ -490,7 +483,6 @@
             SwapVertex(m_circularArcSegment->end, endPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::CircularArc::SetEndPoint");
         }
 
         BU_UNSETJUMP;
@@ -498,7 +490,7 @@
 };
 
 
-double Sketch::CircularArc::Radius(void) const throw() {
+double Sketch::CircularArc::Radius(void) const {
    assert(m_circularArcSegment != 0);
    assert(m_sketch != 0);
    return m_circularArcSegment->radius;
@@ -508,7 +500,7 @@
 void Sketch::CircularArc::SetRadius
 (
     double Radius
-) throw() {
+) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
     m_circularArcSegment->radius =  Radius;
@@ -515,7 +507,7 @@
 };
 
 
-bool Sketch::CircularArc::CenterIsLeft(void) const throw() {
+bool Sketch::CircularArc::CenterIsLeft(void) const {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
     return m_circularArcSegment->center_is_left;
@@ -525,7 +517,7 @@
 void Sketch::CircularArc::SetCenterIsLeft
 (
     bool centerIsLeft
-    ) throw() {
+    ) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
     m_circularArcSegment->center_is_left = centerIsLeft;
@@ -532,7 +524,7 @@
 };
 
 
-bool Sketch::CircularArc::ClockwiseOriented(void) const throw() {
+bool Sketch::CircularArc::ClockwiseOriented(void) const {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
     return this->m_circularArcSegment->orientation;
@@ -542,7 +534,7 @@
 void Sketch::CircularArc::SetClockwiseOriented
 (
     bool clockwiseOriented
-) throw() {
+) {
     assert(m_circularArcSegment != 0);
     assert(m_sketch != 0);
     m_circularArcSegment->orientation = clockwiseOriented;
@@ -553,7 +545,7 @@
 // Nurb class
 //
 
-Sketch::Segment::SegmentType Sketch::Nurb::Type(void) const throw() {
+Sketch::Segment::SegmentType Sketch::Nurb::Type(void) const {
      Sketch::Segment::SegmentType ret = Sketch::Segment::Null;
 
     if ((m_nurbSegment != 0) && (m_sketch != 0))
@@ -562,12 +554,12 @@
 };
 
 
-Sketch::Segment* Sketch::Nurb::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Sketch::Segment* Sketch::Nurb::Clone(void) const {
     return new Nurb(*this);
 };
 
 
-Vector2D Sketch::Nurb::StartPoint(void) const throw() {
+Vector2D Sketch::Nurb::StartPoint(void) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     Vector2D ret;
@@ -581,7 +573,7 @@
 void Sketch::Nurb::SetStartPoint
 (
         const Vector2D& startPoint
-) throw(bad_alloc) {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
 
@@ -590,7 +582,6 @@
             SwapVertex(m_nurbSegment->ctl_points[0], startPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Nurb::SetStartPoint");
         }
 
         BU_UNSETJUMP;
@@ -598,7 +589,7 @@
 };
 
 
-Vector2D Sketch::Nurb::EndPoint(void) const throw() {
+Vector2D Sketch::Nurb::EndPoint(void) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     Vector2D ret;
@@ -611,7 +602,7 @@
 void Sketch::Nurb::SetEndPoint
 (
         const Vector2D& endPoint
-) throw(bad_alloc) {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
 
@@ -620,7 +611,6 @@
             SwapVertex(m_nurbSegment->ctl_points[m_nurbSegment->c_size], endPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Nurb::SetEndPoint");
         }
 
         BU_UNSETJUMP;
@@ -628,7 +618,7 @@
 };
 
 
-size_t Sketch::Nurb::Order(void) const throw() {
+size_t Sketch::Nurb::Order(void) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     return m_nurbSegment->order;
@@ -635,7 +625,7 @@
 };
 
 
-bool  Sketch::Nurb::IsRational(void) const throw() {
+bool  Sketch::Nurb::IsRational(void) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     if(m_nurbSegment->weights)
@@ -644,7 +634,7 @@
 };
 
 
-size_t Sketch::Nurb::NumberOfKnots(void) const throw() {
+size_t Sketch::Nurb::NumberOfKnots(void) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     return m_nurbSegment->k.k_size;
@@ -654,7 +644,7 @@
 double Sketch::Nurb::Knot
 (
     size_t index
-) const throw() {
+) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     return m_nurbSegment->k.knots[index];
@@ -661,7 +651,7 @@
 };
 
 
-size_t Sketch::Nurb::NumberOfControlPoints(void)const throw() {
+size_t Sketch::Nurb::NumberOfControlPoints(void)const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     return this->m_nurbSegment->c_size;
@@ -671,7 +661,7 @@
 Vector2D Sketch::Nurb::ControlPoint
 (
     size_t index
-) const throw() {
+) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     Vector2D ret;
@@ -684,7 +674,7 @@
 double Sketch::Nurb::ControlPointWeight
 (
     size_t index
-) const throw() {
+) const {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     if(!IsRational())
@@ -696,7 +686,7 @@
 void Sketch::Nurb::SetOrder
 (
     size_t order
-) throw() {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
     m_nurbSegment->order = order;
@@ -706,7 +696,7 @@
 void Sketch::Nurb::AddKnot
 (
     double knot
-) throw() {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
 
@@ -721,7 +711,7 @@
 void Sketch::Nurb::AddControlPoint
 (
     const Vector2D& point
-) throw() {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
 
@@ -745,7 +735,7 @@
 (
     const Vector2D& point,
     double          weight
-) throw() {
+) {
     assert(m_nurbSegment != 0);
     assert(m_sketch != 0);
 
@@ -762,7 +752,7 @@
 // Bezier class
 //
 
- Sketch::Segment::SegmentType Sketch::Bezier::Type(void) const throw() {
+ Sketch::Segment::SegmentType Sketch::Bezier::Type(void) const {
      Sketch::Segment::SegmentType ret = Sketch::Segment::Null;
 
     if ((m_bezierSegment != 0) && (m_sketch != 0))
@@ -773,12 +763,12 @@
 };
 
 
-Sketch::Segment* Sketch::Bezier::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Sketch::Segment* Sketch::Bezier::Clone(void) const {
     return new Bezier(*this);
 };
 
 
-Vector2D Sketch::Bezier::StartPoint(void) const throw() {
+Vector2D Sketch::Bezier::StartPoint(void) const {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -792,7 +782,7 @@
 void Sketch::Bezier::SetStartPoint
 (
         const Vector2D& startPoint
-) throw(bad_alloc) {
+) {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -801,7 +791,6 @@
             SwapVertex(m_bezierSegment->ctl_points[0], startPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Bezier::SetStartPoint");
         }
 
         BU_UNSETJUMP;
@@ -809,7 +798,7 @@
 };
 
 
-Vector2D Sketch::Bezier::EndPoint(void) const throw() {
+Vector2D Sketch::Bezier::EndPoint(void) const {
     return Vector2D(m_sketch->verts[m_bezierSegment->ctl_points[m_bezierSegment->degree]]);
 };
 
@@ -817,7 +806,7 @@
 void Sketch::Bezier::SetEndPoint
 (
         const Vector2D& endPoint
-) throw(bad_alloc) {
+) {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -826,7 +815,6 @@
             SwapVertex(m_bezierSegment->ctl_points[m_bezierSegment->degree], endPoint.coordinates, *m_sketch);
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::Bezier::SetEndPoint");
         }
 
         BU_UNSETJUMP;
@@ -834,7 +822,7 @@
 };
 
 
-size_t Sketch::Bezier::Degree(void) const throw() {
+size_t Sketch::Bezier::Degree(void) const {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -844,7 +832,7 @@
 
 Vector2D Sketch::Bezier::ControlPoint(
     size_t index
-) const throw() {
+) const {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -858,7 +846,7 @@
 void Sketch::Bezier::AddControlPoint
 (
     const Vector2D& Point
-) throw() {
+) {
     assert(m_bezierSegment != 0);
     assert(m_sketch != 0);
 
@@ -883,7 +871,7 @@
 (
     size_t                index,
     ConstSegmentCallback& callback
-) const throw() {
+) const {
     if(Internal() != 0) {
         if(!BU_SETJUMP) {
             const uint32_t *magic = reinterpret_cast<uint32_t*>(Internal()->curve.segment[index]);
@@ -925,7 +913,7 @@
 (
     size_t           index,
     SegmentCallback& callback
-) throw() {
+) {
     if(Internal() != 0) {
         if(!BU_SETJUMP) {
             const uint32_t *magic = reinterpret_cast<uint32_t*>(Internal()->curve.segment[index]);
@@ -965,11 +953,11 @@
 Sketch::Segment* Sketch::Get
 (
     size_t index
-) const throw(bad_alloc, std::bad_alloc) {
+) const {
     class SegmentCallbackIntern: public ConstSegmentCallback {
     public:
         SegmentCallbackIntern(void) : ConstSegmentCallback(), m_segment(0) {}
-        virtual ~SegmentCallbackIntern(void) throw() {}
+        virtual ~SegmentCallbackIntern(void) {}
         virtual void operator()(const Segment& segment) {
             try {
                 m_segment = segment.Clone();
@@ -976,7 +964,7 @@
             }
             catch(std::bad_alloc&) {}
         }
-        Sketch::Segment* GetSegment(void) const throw() {
+        Sketch::Segment* GetSegment(void) const {
             return m_segment;
         };
 
@@ -990,7 +978,7 @@
 };
 
 
-Sketch::Line* Sketch::AppendLine(void) throw(bad_alloc, std::bad_alloc) {
+Sketch::Line* Sketch::AppendLine(void) {
     Sketch::Line* ret = 0;
 
     if (!BU_SETJUMP) {
@@ -1011,7 +999,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sketch::AppendLine");
     }
 
     BU_UNSETJUMP;
@@ -1023,7 +1010,7 @@
 Sketch::Line* Sketch::InsertLine
 (
         size_t index
-) throw(bad_alloc, std::bad_alloc) {
+) {
     Sketch::Line*       ret    = 0;
     rt_sketch_internal* sketch = Internal();
 
@@ -1045,7 +1032,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::InsertLine");
         }
 
         BU_UNSETJUMP;
@@ -1055,7 +1041,7 @@
 };
 
 
-Sketch::CircularArc* Sketch::AppendArc(void) throw(bad_alloc, std::bad_alloc) {
+Sketch::CircularArc* Sketch::AppendArc(void) {
     Sketch::CircularArc* ret = 0;
 
     if (!BU_SETJUMP) {
@@ -1076,7 +1062,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::AppendArc");
         }
 
         BU_UNSETJUMP;
@@ -1088,7 +1073,7 @@
 Sketch::CircularArc* Sketch::InsertArc
 (
         size_t index
-) throw(bad_alloc, std::bad_alloc) {
+) {
     Sketch::CircularArc*       ret    = 0;
     rt_sketch_internal* sketch = Internal();
 
@@ -1110,7 +1095,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::InsertLine");
         }
 
         BU_UNSETJUMP;
@@ -1120,7 +1104,7 @@
 };
 
 
-Sketch::Nurb* Sketch::AppendNurb(void) throw(bad_alloc, std::bad_alloc) {
+Sketch::Nurb* Sketch::AppendNurb(void) {
     Sketch::Nurb* ret = 0;
     if (!BU_SETJUMP) {
         rt_sketch_internal* sketch = Internal();
@@ -1140,7 +1124,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sketch::AppendLine");
     }
 
     BU_UNSETJUMP;
@@ -1152,7 +1135,7 @@
 Sketch::Nurb* Sketch::InsertNurb
 (
         size_t index
-) throw(bad_alloc, std::bad_alloc) {
+) {
     Sketch::Nurb*       ret    = 0;
     rt_sketch_internal* sketch = Internal();
     if (index < sketch->curve.count) {
@@ -1173,7 +1156,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::InsertNurb");
         }
 
         BU_UNSETJUMP;
@@ -1183,7 +1165,7 @@
 };
 
 
-Sketch::Bezier* Sketch::AppendBezier(void) throw(bad_alloc, std::bad_alloc) {
+Sketch::Bezier* Sketch::AppendBezier(void) {
     Sketch::Bezier* ret = 0;
     if (!BU_SETJUMP) {
     rt_sketch_internal* sketch = Internal();
@@ -1202,7 +1184,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Sketch::AppendLine");
     }
 
     BU_UNSETJUMP;
@@ -1214,7 +1195,7 @@
 Sketch::Bezier* Sketch::InsertBezier
 (
     size_t index
-) throw(bad_alloc, std::bad_alloc) {
+) {
     Sketch::Bezier*       ret    = 0;
     rt_sketch_internal* sketch = Internal();
     if (index < sketch->curve.count) {
@@ -1235,7 +1216,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Sketch::InsertNurb");
         }
         BU_UNSETJUMP;
     }
@@ -1294,7 +1274,7 @@
 void Sketch::DeleteSegment
 (
     size_t index
-) throw(bad_alloc) {
+) {
     assert(index < Internal()->curve.count);
 
     if(index < Internal()->curve.count)
@@ -1318,7 +1298,7 @@
 };
 
 
-int Sketch::NumberOfSegments(void) const throw() {
+int Sketch::NumberOfSegments(void) const {
     return Internal()->curve.count;
 };
 
@@ -1371,7 +1351,7 @@
 const Object& Sketch::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Sketch* sketch = dynamic_cast<const Sketch*>(&original);
     assert(sketch != 0);
 
@@ -1382,22 +1362,22 @@
 };
 
 
-Object* Sketch::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Sketch::Clone(void) const {
     return new Sketch(*this);
 };
 
 
-const char* Sketch::ClassName(void) throw() {
+const char* Sketch::ClassName(void) {
     return "Sketch";
 };
 
 
-const char* Sketch::Type(void) const throw() {
+const char* Sketch::Type(void) const {
     return ClassName();
 };
 
 
-rt_sketch_internal* Sketch::Internal(void) throw() {
+rt_sketch_internal* Sketch::Internal(void) {
     rt_sketch_internal* ret;
 
     if (m_ip != 0)
@@ -1411,7 +1391,7 @@
 };
 
 
-const rt_sketch_internal* Sketch::Internal(void) const throw() {
+const rt_sketch_internal* Sketch::Internal(void) const {
     const rt_sketch_internal* ret;
 
     if (m_ip != 0)
@@ -1425,7 +1405,7 @@
 }
 
 
-bool Sketch::IsValid(void) const throw() {
+bool Sketch::IsValid(void) const {
     if (rt_check_curve(&Internal()->curve, Internal(), 1))
         return false;
     return true;
@@ -1438,4 +1418,4 @@
     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) {}
Index: src/coreInterface/Pipe.cpp
===================================================================
--- src/coreInterface/Pipe.cpp	(revision 74453)
+++ src/coreInterface/Pipe.cpp	(working copy)
@@ -64,7 +64,7 @@
         wdb_pipe_pnt* ctlPoint;
         BU_GET(ctlPoint, wdb_pipe_pnt);
 
-        for(int i = 0; i < 3; i++) 
+        for(int i = 0; i < 3; i++)
             ctlPoint->pp_coord[i] = temp->pp_coord[i];
 
         ctlPoint->pp_id         = temp->pp_id;
@@ -94,7 +94,7 @@
 }
 
 
-Pipe::Pipe(void) throw(bad_alloc) : Object() {
+Pipe::Pipe(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_pipe_internal);
         m_internalp->pipe_magic = RT_PIPE_INTERNAL_MAGIC;
@@ -103,7 +103,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Pipe::Pipe");
     }
 
     BU_UNSETJUMP;
@@ -113,7 +112,7 @@
 Pipe::Pipe
 (
     const Pipe& original
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_pipe_internal);
         m_internalp->pipe_magic = RT_PIPE_INTERNAL_MAGIC;
@@ -123,7 +122,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Pipe::Pipe");
     }
 
     BU_UNSETJUMP;
@@ -133,7 +131,7 @@
 Pipe::~Pipe
 (
     void
-) throw() {
+) {
     if (m_internalp != 0) {
         bu_list_free(&m_internalp->pipe_segs_head);
         bu_free(m_internalp, "BRLCAD::Pipe::~Pipe::m_internalp");
@@ -144,7 +142,7 @@
 const Pipe& Pipe::operator=
 (
     const Pipe& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
 
@@ -152,7 +150,6 @@
             PipeCopy(Internal(), original.Internal());
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLAD::Pipe::operator=");
         }
 
         BU_UNSETJUMP;
@@ -162,7 +159,7 @@
 }
 
 
-Vector3D Pipe::ControlPoint::Point(void) const throw() {
+Vector3D Pipe::ControlPoint::Point(void) const {
     assert(m_pipe != 0);
 
     Vector3D ret;
@@ -177,7 +174,7 @@
 void Pipe::ControlPoint::SetPoint
 (
     const Vector3D& point
-) throw() {
+) {
     assert(m_pipe != 0);
 
     if(m_pipe != 0) {
@@ -187,7 +184,7 @@
 }
 
 
-double Pipe::ControlPoint::InnerDiameter(void) const throw() {
+double Pipe::ControlPoint::InnerDiameter(void) const {
     assert(m_pipe != 0);
 
     double ret;
@@ -202,7 +199,7 @@
 void Pipe::ControlPoint::SetInnerDiameter
 (
     double id
-) throw() {
+) {
     assert(m_pipe != 0);
 
     if(m_pipe != 0)
@@ -210,7 +207,7 @@
 }
 
 
-double Pipe::ControlPoint::OuterDiameter(void) const throw() {
+double Pipe::ControlPoint::OuterDiameter(void) const {
     assert(m_pipe != 0);
 
     double ret;
@@ -225,7 +222,7 @@
 void Pipe::ControlPoint::SetOuterDiameter
 (
     double od
-) throw() {
+) {
     assert(m_pipe != 0);
 
     if(m_pipe != 0)
@@ -233,7 +230,7 @@
 }
 
 
-double Pipe::ControlPoint::BendRadius(void) const throw() {
+double Pipe::ControlPoint::BendRadius(void) const {
     assert(m_pipe != 0);
 
     double ret;
@@ -248,7 +245,7 @@
 void Pipe::ControlPoint::SetBendRadius
 (
     double br
-) throw() {
+) {
     assert(m_pipe != 0);
 
     if(m_pipe != 0)
@@ -259,7 +256,7 @@
 Pipe::ControlPoint Pipe::Get
 (
     size_t index
-) throw() {
+) {
     assert(index < Internal()->pipe_count);
 
     Pipe::ControlPoint ret;
@@ -284,7 +281,7 @@
     double          innerDiameter,
     double          outerDiameter,
     double          bendRadius
-) throw(bad_alloc) {
+) {
     Pipe::ControlPoint ret;
 
     if(!BU_SETJUMP) {
@@ -304,7 +301,6 @@
     }
     else {
         BU_UNSETJUMP;
-        throw bad_alloc("BRLAD::Pipe::AppendControlPoint");
     }
 
     return ret;
@@ -318,7 +314,7 @@
     double          innerDiameter,
     double          outerDiameter,
     double          bendRadius
-) throw(bad_alloc) {
+) {
     assert(index <= Internal()->pipe_count);
 
     Pipe::ControlPoint ret;
@@ -346,7 +342,6 @@
         }
         else {
             BU_UNSETJUMP;
-            throw bad_alloc("BRLAD::Pipe::InsertControlPoint");
         }
     }
 
@@ -357,7 +352,7 @@
 void Pipe::DeleteControlPoint
 (
     size_t index
-) throw() {
+) {
     assert(index < Internal()->pipe_count);
 
     if (index < Internal()->pipe_count) {
@@ -377,7 +372,7 @@
 const Object& Pipe::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Pipe* pipe = dynamic_cast<const Pipe*>(&original);
     assert(pipe != 0);
 
@@ -388,22 +383,22 @@
 }
 
 
-Object* Pipe::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Pipe::Clone(void) const {
     return new Pipe(*this);
 }
 
 
-const char* Pipe::ClassName(void) throw() {
+const char* Pipe::ClassName(void) {
     return "Pipe";
 }
 
 
-const char* Pipe::Type(void) const throw() {
+const char* Pipe::Type(void) const {
     return ClassName();
 }
 
 
-bool Pipe::IsValid(void) const throw() {
+bool Pipe::IsValid(void) const {
     const rt_pipe_internal* pipe = Internal();
 
     return ((bu_list_len(&pipe->pipe_segs_head) == pipe->pipe_count) &&
@@ -417,10 +412,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 rt_pipe_internal* Pipe::Internal(void) const throw() {
+const rt_pipe_internal* Pipe::Internal(void) const {
     const rt_pipe_internal* ret;
 
     if (m_ip != 0)
@@ -434,7 +429,7 @@
 }
 
 
-rt_pipe_internal* Pipe::Internal(void) throw() {
+rt_pipe_internal* Pipe::Internal(void) {
     rt_pipe_internal* ret;
 
     if (m_ip != 0)
Index: include/brlcad/Unknown.h
===================================================================
--- include/brlcad/Unknown.h	(revision 74453)
+++ include/brlcad/Unknown.h	(working copy)
@@ -36,17 +36,17 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Unknown : public Object {
     public:
-        Unknown(const Unknown& original) throw(bad_alloc);
-        virtual ~Unknown(void) throw();
+        Unknown(const Unknown& original);
+        virtual ~Unknown(void);
 
-        const Unknown&        operator=(const Unknown& original) throw(bad_alloc);
+        const Unknown&        operator=(const Unknown& original);
 
         // 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;
 
         // there is nothing special with BRLCAD::Unknown
 
@@ -54,7 +54,7 @@
         Unknown(resource*       resp,
                 directory*      pDir,
                 rt_db_internal* ip,
-                db_i*           dbip = 0) throw();
+                db_i*           dbip = 0);
 
         friend class ConstDatabase;
 
Index: include/brlcad/Torus.h
===================================================================
--- include/brlcad/Torus.h	(revision 74453)
+++ include/brlcad/Torus.h	(working copy)
@@ -39,45 +39,45 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Torus : public Object {
     public:
-        Torus(void) throw(bad_alloc);                       ///< constructs a torus at origin with unit tubeRadius, radius from center to tube-center of 2 and unit normal pointing in positive z direction
+        Torus(void);                       ///< constructs a torus at origin with unit tubeRadius, radius from center to tube-center of 2 and unit normal pointing in positive z direction
         Torus(const Vector3D& center,
               const Vector3D& normalToTubeCenterLinePlane,
               double          tubeCenterLineRadius,
-              double          tubeRadius) throw(bad_alloc); ///< center, normal of unit length (will be unitized of not of unit length), radius and radius of tube
-        Torus(const Torus& original) throw(bad_alloc);
-        virtual ~Torus(void) throw();
+              double          tubeRadius); ///< center, normal of unit length (will be unitized of not of unit length), radius and radius of tube
+        Torus(const Torus& original);
+        virtual ~Torus(void);
 
-        const Torus&          operator=(const Torus& original) throw(bad_alloc);
+        const Torus&          operator=(const Torus& original);
 
-        Vector3D              Center(void) const throw();
-        void                  SetCenter(const Vector3D& center) throw();
+        Vector3D              Center(void) const;
+        void                  SetCenter(const Vector3D& center);
 
-        Vector3D              Normal(void) const throw();
-        void                  SetNormal(const Vector3D& normal) throw();
+        Vector3D              Normal(void) const;
+        void                  SetNormal(const Vector3D& normal);
 
-        double                TubeCenterLineRadius(void) const throw();
-        void                  SetTubeCenterLineRadius(double radius) throw();
+        double                TubeCenterLineRadius(void) const;
+        void                  SetTubeCenterLineRadius(double radius);
 
-        double                TubeRadius(void) const throw();
-        void                  SetTubeRadius(double radius) throw();
+        double                TubeRadius(void) const;
+        void                  SetTubeRadius(double radius);
 
         void                  Set(const Vector3D& center,
                                   const Vector3D& normalToTubeCenterLinePlane,
                                   double          tubeCenterLineRadius,
-                                  double          tubeRadius) throw();
+                                  double          tubeRadius);
 
         // 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 if normal has length 1, if radii are positive and if tubeCenterLineRadius is at least tubeRadius
+        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 if normal has length 1, if radii are positive and if tubeCenterLineRadius is at least tubeRadius
 
     protected:
         Torus(resource*       resp,
               directory*      pDir,
               rt_db_internal* ip,
-              db_i*           dbip) throw();
+              db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -84,8 +84,8 @@
     private:
         rt_tor_internal* m_internalp;
 
-        const rt_tor_internal* Internal(void) const throw();
-        rt_tor_internal*       Internal(void) throw();
+        const rt_tor_internal* Internal(void) const;
+        rt_tor_internal*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/Sphere.h
===================================================================
--- include/brlcad/Sphere.h	(revision 74453)
+++ include/brlcad/Sphere.h	(working copy)
@@ -35,33 +35,33 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Sphere : public Object {
     public:
-        Sphere(void) throw(bad_alloc);
+        Sphere(void);
         Sphere(const  Vector3D& center,
                double radius)throw(bad_alloc);
-        Sphere(const Sphere& original) throw(bad_alloc);
-        virtual ~Sphere(void) throw();
+        Sphere(const Sphere& original);
+        virtual ~Sphere(void);
 
-        const Sphere&         operator=(const Sphere& original) throw(bad_alloc);
+        const Sphere&         operator=(const Sphere& original);
 
-        Vector3D              Center(void) const throw();
-        void                  SetCenter(const Vector3D& normal) throw();
-        double                Radius(void) const throw();
-        void                  SetRadius(double distance) throw();
+        Vector3D              Center(void) const;
+        void                  SetCenter(const Vector3D& normal);
+        double                Radius(void) const;
+        void                  SetRadius(double distance);
         void                  Set(const Vector3D& center,
-                                  double          radius) throw();
+                                  double          radius);
 
         // 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:
         Sphere(resource*       resp,
                directory*      pDir,
                rt_db_internal* ip,
-               db_i*           dbip = 0) throw();
+               db_i*           dbip = 0);
 
         friend class ConstDatabase;
 
@@ -69,8 +69,8 @@
         // holds Objects's content if not connected to a database
         rt_ell_internal* m_internalp;
 
-        const rt_ell_internal* Internal(void) const throw();
-        rt_ell_internal*       Internal(void) throw();
+        const rt_ell_internal* Internal(void) const;
+        rt_ell_internal*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/Sketch.h
===================================================================
--- include/brlcad/Sketch.h	(revision 74453)
+++ include/brlcad/Sketch.h	(working copy)
@@ -39,11 +39,11 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Sketch : public Object {
     public:
-        Sketch(void) throw(bad_alloc);
-        Sketch(const Sketch& original) throw(bad_alloc);
-        virtual ~Sketch(void) throw();
+        Sketch(void);
+        Sketch(const Sketch& original);
+        virtual ~Sketch(void);
 
-        const Sketch&           operator=(const Sketch& original) throw(bad_alloc);
+        const Sketch&           operator=(const Sketch& original);
 
         class BRLCAD_COREINTERFACE_EXPORT Segment {
         public:
@@ -55,131 +55,131 @@
                 Bezier
             };
 
-            virtual ~Segment(void) throw() {}
+            virtual ~Segment(void) {}
 
-            void                Destroy(void) throw();
-            virtual Segment*    Clone(void) const throw(bad_alloc, std::bad_alloc) = 0;
-            virtual SegmentType Type(void) const throw()                           = 0;
+            void                Destroy(void);
+            virtual Segment*    Clone(void) const = 0;
+            virtual SegmentType Type(void) const                           = 0;
 
-            virtual Vector2D    StartPoint(void) const throw()                     = 0;
-            virtual Vector2D    EndPoint(void) const throw()                       = 0;
+            virtual Vector2D    StartPoint(void) const                     = 0;
+            virtual Vector2D    EndPoint(void) const                       = 0;
 
-            bool                Reverse(void) const throw();
-            void                SetReverse(bool reverse) throw();
+            bool                Reverse(void) const;
+            void                SetReverse(bool reverse);
 
         protected:
             rt_sketch_internal* m_sketch;
 
-            Segment(void) throw() : m_sketch(0)  {}
-            Segment(const Segment& original) throw() : m_sketch(original.m_sketch) {}
-            Segment(rt_sketch_internal* sketch) throw() : m_sketch(sketch) {}
+            Segment(void) : m_sketch(0)  {}
+            Segment(const Segment& original) : m_sketch(original.m_sketch) {}
+            Segment(rt_sketch_internal* sketch) : m_sketch(sketch) {}
 
-            const Segment& operator=(const Segment& original) throw() {return *this;}
+            const Segment& operator=(const Segment& original) {return *this;}
         };
 
         class BRLCAD_COREINTERFACE_EXPORT Line : public Segment {
         public:
-            Line(void) throw() : Segment(), m_lineSegment(0) {}
-            Line(const Line& original) throw() : Segment(original), m_lineSegment(original.m_lineSegment) {}
-            virtual ~Line(void) throw() {}
+            Line(void) : Segment(), m_lineSegment(0) {}
+            Line(const Line& original) : Segment(original), m_lineSegment(original.m_lineSegment) {}
+            virtual ~Line(void) {}
 
-            const Line&         operator=(const Line& original) throw() {
+            const Line&         operator=(const Line& original) {
                 Segment::operator=(original);
                 m_lineSegment = original.m_lineSegment;
                 return *this;
             }
 
-            virtual SegmentType Type(void) const throw();
-            virtual Segment*    Clone(void) const throw(bad_alloc, std::bad_alloc);
+            virtual SegmentType Type(void) const;
+            virtual Segment*    Clone(void) const;
 
-            virtual Vector2D    StartPoint(void) const throw();
-            void                SetStartPoint(const Vector2D& startPoint) throw(bad_alloc);
-            virtual Vector2D    EndPoint(void) const throw();
-            void                SetEndPoint(const Vector2D& endPoint) throw(bad_alloc);
+            virtual Vector2D    StartPoint(void) const;
+            void                SetStartPoint(const Vector2D& startPoint);
+            virtual Vector2D    EndPoint(void) const;
+            void                SetEndPoint(const Vector2D& endPoint);
 
         private:
             line_seg* m_lineSegment;
 
             Line(line_seg*           lineSegment,
-                 rt_sketch_internal* sketch) throw() : Segment(sketch), m_lineSegment(lineSegment) {}
+                 rt_sketch_internal* sketch) : Segment(sketch), m_lineSegment(lineSegment) {}
             friend class Sketch;
         };
 
         class BRLCAD_COREINTERFACE_EXPORT CircularArc : public Segment {
         public:
-            CircularArc(void) throw() : Segment(), m_circularArcSegment(0) {}
-            CircularArc(const CircularArc& original) throw() : Segment(original), m_circularArcSegment(original.m_circularArcSegment) {}
-            virtual ~CircularArc(void) throw() {}
+            CircularArc(void) : Segment(), m_circularArcSegment(0) {}
+            CircularArc(const CircularArc& original) : Segment(original), m_circularArcSegment(original.m_circularArcSegment) {}
+            virtual ~CircularArc(void) {}
 
-            const CircularArc&  operator=(const CircularArc& original) throw() {
+            const CircularArc&  operator=(const CircularArc& original) {
                 Segment::operator=(original);
                 m_circularArcSegment = original.m_circularArcSegment;
                 return *this;
             }
 
-            virtual SegmentType Type(void) const throw();
-            virtual Segment*    Clone(void) const throw(bad_alloc, std::bad_alloc);
+            virtual SegmentType Type(void) const;
+            virtual Segment*    Clone(void) const;
 
-            virtual Vector2D    StartPoint(void) const throw();
-            void                SetStartPoint(const Vector2D& startPoint) throw(bad_alloc);
-            virtual Vector2D    EndPoint(void) const throw();
-            void                SetEndPoint(const Vector2D& endPoint) throw(bad_alloc);
+            virtual Vector2D    StartPoint(void) const;
+            void                SetStartPoint(const Vector2D& startPoint);
+            virtual Vector2D    EndPoint(void) const;
+            void                SetEndPoint(const Vector2D& endPoint);
 
-            Vector3D            Center(void) const throw();
-            void                SetCenter(Vector2D c) throw(bad_alloc);
-            double              Radius(void) const throw();
-            void                SetRadius(double radius) throw();
-            bool                CenterIsLeft(void) const throw();
-            void                SetCenterIsLeft(bool centerIsLeft) throw();
-            bool                ClockwiseOriented(void) const throw();
-            void                SetClockwiseOriented(bool clockwiseOriented) throw();
+            Vector3D            Center(void) const;
+            void                SetCenter(Vector2D c);
+            double              Radius(void) const;
+            void                SetRadius(double radius);
+            bool                CenterIsLeft(void) const;
+            void                SetCenterIsLeft(bool centerIsLeft);
+            bool                ClockwiseOriented(void) const;
+            void                SetClockwiseOriented(bool clockwiseOriented);
 
         private:
             carc_seg* m_circularArcSegment;
 
             CircularArc(carc_seg*           circularArcSegment,
-                        rt_sketch_internal* sketch) throw() : Segment(sketch), m_circularArcSegment(circularArcSegment) {}
+                        rt_sketch_internal* sketch) : Segment(sketch), m_circularArcSegment(circularArcSegment) {}
             friend class Sketch;
         };
 
         class BRLCAD_COREINTERFACE_EXPORT Nurb : public Segment {
         public:
-            Nurb(void) throw() : Segment(), m_nurbSegment(0) {}
-            Nurb(const Nurb& original) throw() : Segment(original), m_nurbSegment(original.m_nurbSegment) {}
-            virtual ~Nurb(void) throw() {}
+            Nurb(void) : Segment(), m_nurbSegment(0) {}
+            Nurb(const Nurb& original) : Segment(original), m_nurbSegment(original.m_nurbSegment) {}
+            virtual ~Nurb(void) {}
 
-            const Nurb&         operator=(const Nurb& original) throw() {
+            const Nurb&         operator=(const Nurb& original) {
                 Segment::operator=(original);
                 m_nurbSegment = original.m_nurbSegment;
                 return *this;
             }
 
-            virtual SegmentType Type(void) const throw();
-            virtual Segment*    Clone(void) const throw(bad_alloc, std::bad_alloc);
+            virtual SegmentType Type(void) const;
+            virtual Segment*    Clone(void) const;
 
-            virtual Vector2D    StartPoint(void) const throw();
-            void                SetStartPoint(const Vector2D& startPoint) throw(bad_alloc);
-            virtual Vector2D    EndPoint(void) const throw();
-            void                SetEndPoint(const Vector2D& endPoint) throw(bad_alloc);
+            virtual Vector2D    StartPoint(void) const;
+            void                SetStartPoint(const Vector2D& startPoint);
+            virtual Vector2D    EndPoint(void) const;
+            void                SetEndPoint(const Vector2D& endPoint);
 
-            size_t              Order(void) const throw();
-            bool                IsRational(void) const throw();
-            size_t              NumberOfKnots(void) const throw();
-            double              Knot(size_t index) const throw();
-            size_t              NumberOfControlPoints(void) const throw();
-            Vector2D            ControlPoint(size_t index) const throw();
-            double              ControlPointWeight(size_t index) const throw();
+            size_t              Order(void) const;
+            bool                IsRational(void) const;
+            size_t              NumberOfKnots(void) const;
+            double              Knot(size_t index) const;
+            size_t              NumberOfControlPoints(void) const;
+            Vector2D            ControlPoint(size_t index) const;
+            double              ControlPointWeight(size_t index) const;
 
-            void                SetOrder(size_t order) throw();
-            void                AddKnot(double knot) throw();
-            void                AddControlPoint(const Vector2D& Point) throw();
-            void                AddControlPointWeight(const Vector2D& Point, double weight) throw();
+            void                SetOrder(size_t order);
+            void                AddKnot(double knot);
+            void                AddControlPoint(const Vector2D& Point);
+            void                AddControlPointWeight(const Vector2D& Point, double weight);
 
         private:
             nurb_seg* m_nurbSegment;
 
             Nurb(nurb_seg*           nurbSegment,
-                 rt_sketch_internal* sketch) throw() : Segment(sketch), m_nurbSegment(nurbSegment) {}
+                 rt_sketch_internal* sketch) : Segment(sketch), m_nurbSegment(nurbSegment) {}
 
             friend class Sketch;
         };
@@ -186,33 +186,33 @@
 
         class BRLCAD_COREINTERFACE_EXPORT Bezier : public Segment {
         public:
-            Bezier(void) throw() : Segment(), m_bezierSegment(0) {}
-            Bezier(const Bezier& original) throw() : Segment(original), m_bezierSegment(original.m_bezierSegment) {}
-            virtual ~Bezier(void) throw() {}
+            Bezier(void) : Segment(), m_bezierSegment(0) {}
+            Bezier(const Bezier& original) : Segment(original), m_bezierSegment(original.m_bezierSegment) {}
+            virtual ~Bezier(void) {}
 
-            const Bezier&       operator=(const Bezier& original) throw() {
+            const Bezier&       operator=(const Bezier& original) {
                 Segment::operator=(original);
                 m_bezierSegment = original.m_bezierSegment;
                 return *this;
             }
 
-            virtual SegmentType Type(void) const throw();
-            virtual Segment*    Clone(void) const throw(bad_alloc, std::bad_alloc);
+            virtual SegmentType Type(void) const;
+            virtual Segment*    Clone(void) const;
 
-            virtual Vector2D    StartPoint(void) const throw();
-            void                SetStartPoint(const Vector2D& startPoint) throw(bad_alloc);
-            virtual Vector2D    EndPoint(void) const throw();
-            void                SetEndPoint(const Vector2D& endPoint) throw(bad_alloc);
+            virtual Vector2D    StartPoint(void) const;
+            void                SetStartPoint(const Vector2D& startPoint);
+            virtual Vector2D    EndPoint(void) const;
+            void                SetEndPoint(const Vector2D& endPoint);
 
-            size_t              Degree(void) const throw();
-            Vector2D            ControlPoint(size_t index) const throw();
-            void                AddControlPoint(const Vector2D& Point) throw();
+            size_t              Degree(void) const;
+            Vector2D            ControlPoint(size_t index) const;
+            void                AddControlPoint(const Vector2D& Point);
 
         private:
             bezier_seg* m_bezierSegment;
 
             Bezier(bezier_seg*         bezierSegment,
-                   rt_sketch_internal* sketch) throw() : Segment(sketch), m_bezierSegment(bezierSegment) {}
+                   rt_sketch_internal* sketch) : Segment(sketch), m_bezierSegment(bezierSegment) {}
 
             friend class Sketch;
         };
@@ -219,52 +219,52 @@
 
         class ConstSegmentCallback {
         public:
-            virtual ~ConstSegmentCallback(void) throw() {}
+            virtual ~ConstSegmentCallback(void) {}
 
             /// the user has to implement this method to evaluate the object
             virtual void operator()(const Segment& segment) = 0;
 
         protected:
-            ConstSegmentCallback(void) throw() {}
-            ConstSegmentCallback(const ConstSegmentCallback&) throw() {}
-            const ConstSegmentCallback& operator=(const ConstSegmentCallback&) throw() {return *this;}
+            ConstSegmentCallback(void) {}
+            ConstSegmentCallback(const ConstSegmentCallback&) {}
+            const ConstSegmentCallback& operator=(const ConstSegmentCallback&) {return *this;}
         };
 
         class SegmentCallback {
         public:
-            virtual ~SegmentCallback(void) throw() {}
+            virtual ~SegmentCallback(void) {}
 
             /// the user has to implement this method to evaluate the object
             virtual void operator()(Segment& segment) = 0;
 
         private:
-            SegmentCallback(void) throw() {}
-            SegmentCallback(const SegmentCallback&) throw() {}
-            const SegmentCallback& operator=(const SegmentCallback&) throw() {return *this;}
+            SegmentCallback(void) {}
+            SegmentCallback(const SegmentCallback&) {}
+            const SegmentCallback& operator=(const SegmentCallback&) {return *this;}
         };
 
-        int                   NumberOfSegments(void) const throw();
+        int                   NumberOfSegments(void) const;
 
         /// selects a single object and hand it over to an SegmentCallback
         void                  Get(size_t                index,
-                                  ConstSegmentCallback& callback) const throw();
+                                  ConstSegmentCallback& callback) const;
         void                  Get(size_t           index,
-                                  SegmentCallback& callback) throw();
+                                  SegmentCallback& callback);
 
         /// overloaded member function, provided for convenience: selects a single segment and and returns it
         /** Do not forget to BRLCAD::Sketch::Segment::Destroy() the copy when you are finished with it! */
-        Segment*              Get(size_t index) const throw(bad_alloc, std::bad_alloc);
+        Segment*              Get(size_t index) const;
 
-        Line*                 AppendLine(void) throw(bad_alloc, std::bad_alloc);
-        Line*                 InsertLine(size_t index) throw(bad_alloc, std::bad_alloc);
-        CircularArc*          AppendArc(void) throw(bad_alloc, std::bad_alloc);
-        CircularArc*          InsertArc(size_t index) throw(bad_alloc, std::bad_alloc);
-        Nurb*                 AppendNurb(void) throw(bad_alloc, std::bad_alloc);
-        Nurb*                 InsertNurb(size_t index) throw(bad_alloc, std::bad_alloc);
-        Bezier*               AppendBezier(void) throw(bad_alloc, std::bad_alloc);
-        Bezier*               InsertBezier(size_t index) throw(bad_alloc, std::bad_alloc);
+        Line*                 AppendLine(void);
+        Line*                 InsertLine(size_t index);
+        CircularArc*          AppendArc(void);
+        CircularArc*          InsertArc(size_t index);
+        Nurb*                 AppendNurb(void);
+        Nurb*                 InsertNurb(size_t index);
+        Bezier*               AppendBezier(void);
+        Bezier*               InsertBezier(size_t index);
 
-        void                  DeleteSegment(size_t index) throw(bad_alloc);
+        void                  DeleteSegment(size_t index);
 
         Vector3D              EmbeddingPlaneX(void) const;
         Vector3D              EmbeddingPlaneY(void) const;
@@ -274,17 +274,17 @@
         void                  SetEmbeddingPlaneOrigin(Vector3D& point);
 
         // 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:
         Sketch(resource*       resp,
                directory*      pDir,
                rt_db_internal* ip,
-               db_i*           dbip = 0) throw();
+               db_i*           dbip = 0);
 
         friend class ConstDatabase;
 
@@ -292,8 +292,8 @@
         // holds Objects's content if not connected to a database
         rt_sketch_internal* m_internalp;
 
-        const rt_sketch_internal* Internal(void) const throw();
-        rt_sketch_internal*       Internal(void) throw();
+        const rt_sketch_internal* Internal(void) const;
+        rt_sketch_internal*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/Pipe.h
===================================================================
--- include/brlcad/Pipe.h	(revision 74453)
+++ include/brlcad/Pipe.h	(working copy)
@@ -36,19 +36,19 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Pipe : public Object {
     public:
-        Pipe(void) throw(bad_alloc);
-        Pipe(const Pipe& original) throw(bad_alloc);
-        virtual ~Pipe(void) throw();
+        Pipe(void);
+        Pipe(const Pipe& original);
+        virtual ~Pipe(void);
 
-        const Pipe&           operator=(const Pipe& original) throw(bad_alloc);
+        const Pipe&           operator=(const Pipe& original);
 
         class BRLCAD_COREINTERFACE_EXPORT ControlPoint {
         public:
-            ControlPoint(void) throw() : m_pipe(0), m_controlPoint(0) {}
-            ControlPoint(const ControlPoint& original) throw() : m_pipe(original.m_pipe), m_controlPoint(original.m_controlPoint) {}
-            ~ControlPoint(void) throw() {}
+            ControlPoint(void) : m_pipe(0), m_controlPoint(0) {}
+            ControlPoint(const ControlPoint& original) : m_pipe(original.m_pipe), m_controlPoint(original.m_controlPoint) {}
+            ~ControlPoint(void) {}
 
-            const ControlPoint& operator=(const ControlPoint& original) throw() {
+            const ControlPoint& operator=(const ControlPoint& original) {
                 m_pipe         = original.m_pipe;
                 m_controlPoint = original.m_controlPoint;
 
@@ -59,17 +59,17 @@
                 return m_pipe;
             }
 
-            Vector3D            Point(void) const throw();
-            void                SetPoint(const Vector3D& point) throw();
+            Vector3D            Point(void) const;
+            void                SetPoint(const Vector3D& point);
 
-            double              InnerDiameter(void) const throw();
-            void                SetInnerDiameter(double id) throw();
+            double              InnerDiameter(void) const;
+            void                SetInnerDiameter(double id);
 
-            double              OuterDiameter(void) const throw();
-            void                SetOuterDiameter(double od) throw();
+            double              OuterDiameter(void) const;
+            void                SetOuterDiameter(double od);
 
-            double              BendRadius(void) const throw();
-            void                SetBendRadius(double br) throw();
+            double              BendRadius(void) const;
+            void                SetBendRadius(double br);
 
         private:
             rt_pipe_internal* m_pipe;
@@ -76,44 +76,44 @@
             wdb_pipe_pnt*     m_controlPoint;
 
             ControlPoint(rt_pipe_internal* pipe,
-                         wdb_pipe_pnt*     controlPoint) throw() : m_pipe(pipe), m_controlPoint(controlPoint) {}
+                         wdb_pipe_pnt*     controlPoint) : m_pipe(pipe), m_controlPoint(controlPoint) {}
 
             friend class Pipe;
         };
 
-        ControlPoint          Get(size_t index) throw();
+        ControlPoint          Get(size_t index);
         ControlPoint          AppendControlPoint(const Vector3D& point,
                                                  double          innerDiameter,
                                                  double          outerDiameter,
-                                                 double          bendRadius) throw(bad_alloc);
+                                                 double          bendRadius);
         ControlPoint          InsertControlPoint(size_t          index,
                                                  const Vector3D& point,
                                                  double          innerDiameter,
                                                  double          outerDiameter,
-                                                 double          bendRadius) throw(bad_alloc);
-        void                  DeleteControlPoint(size_t index) throw();
+                                                 double          bendRadius);
+        void                  DeleteControlPoint(size_t index);
 
         // 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:
         Pipe(resource*       resp,
              directory*      pDir,
              rt_db_internal* ip,
-             db_i*           dbip = 0) throw();
+             db_i*           dbip = 0);
 
         friend class ConstDatabase;
 
     private:
         rt_pipe_internal* m_internalp;
-        
-        const rt_pipe_internal* Internal(void) const throw();
-        rt_pipe_internal*       Internal(void) throw();
 
+        const rt_pipe_internal* Internal(void) const;
+        rt_pipe_internal*       Internal(void);
+
         friend class Database;
     };
 };
