Index: include/brlcad/ConstDatabase.h
===================================================================
--- include/brlcad/ConstDatabase.h	(revision 74453)
+++ include/brlcad/ConstDatabase.h	(working copy)
@@ -45,29 +45,29 @@
 
     class BRLCAD_COREINTERFACE_EXPORT ConstDatabase {
     public:
-        ConstDatabase(void) throw(bad_alloc);
-        virtual ~ConstDatabase(void) throw();
+        ConstDatabase(void);
+        virtual ~ConstDatabase(void);
 
         /// associates the handle with a BRL-CAD database file (*.g)
         /** If the handle was already associated with a database file this association will be discarded.
             The file will be opened for reading only. */
-        virtual bool         Load(const char* fileName) throw();
+        virtual bool         Load(const char* fileName);
 
         /// @name Parsing the database
         //@{
         /// title string read from the database
-        const char*          Title(void) const throw();
+        const char*          Title(void) const;
 
 
         class BRLCAD_COREINTERFACE_EXPORT TopObjectIterator {
         public:
-            TopObjectIterator(const TopObjectIterator& original) throw() : m_hashTablePosition(original.m_hashTablePosition),
-                                                                           m_pDir(original.m_pDir),
-                                                                           m_rtip(original.m_rtip) {}
+            TopObjectIterator(const TopObjectIterator& original): m_hashTablePosition(original.m_hashTablePosition),
+                                                                  m_pDir(original.m_pDir),
+                                                                  m_rtip(original.m_rtip) {}
 
-            ~TopObjectIterator(void) throw() {}
+            ~TopObjectIterator(void) {}
 
-            const TopObjectIterator& operator=(const TopObjectIterator& original) throw() {
+            const TopObjectIterator& operator=(const TopObjectIterator& original) {
                 m_hashTablePosition = original.m_hashTablePosition;
                 m_pDir              = original.m_pDir;
                 m_rtip              = original.m_rtip;
@@ -75,9 +75,9 @@
                 return *this;
             }
 
-            const TopObjectIterator& operator++(void) throw();
-            bool                     Good(void) const throw();
-            const char*              Name(void) const throw();
+            const TopObjectIterator& operator++(void);
+            bool                     Good(void) const;
+            const char*              Name(void) const;
 
         private:
             size_t           m_hashTablePosition;
@@ -86,7 +86,7 @@
 
             TopObjectIterator(size_t           hashTablePosition,
                               const directory* pDir,
-                              const rt_i*      rtip) throw();
+                              const rt_i*      rtip);
 
             friend class ConstDatabase;
 
@@ -96,7 +96,7 @@
 
         /// returns the first of the top level objects via an iterator object
         /** To get a list of all top level objects you have to use the iterator returned by this function. */
-        TopObjectIterator    FirstTopObject(void) const throw();
+        TopObjectIterator    FirstTopObject(void) const;
         //@}
 
         /// @name Accessing objects
@@ -103,15 +103,15 @@
         //@{
         class ObjectCallback {
         public:
-            virtual ~ObjectCallback(void) throw() {}
+            virtual ~ObjectCallback(void) {}
 
             /// the user has to implement this object method to evaluate the object
             virtual void operator()(const Object& object) = 0;
 
         protected:
-            ObjectCallback(void) throw() {}
-            ObjectCallback(const ObjectCallback&) throw() {}
-            const ObjectCallback& operator=(const ObjectCallback&) throw() {return *this;}
+            ObjectCallback(void) {}
+            ObjectCallback(const ObjectCallback&) {}
+            const ObjectCallback& operator=(const ObjectCallback&) {return *this;}
         };
 
         /// selects a single object and hand it over to an ObjectCallback (read only)
@@ -120,11 +120,11 @@
 
         /// overloaded member function, provided for convenience: selects a single object and and returns a copy of it
         /** Do not forget to BRLCAD::Object::Destroy() the copy when you are finished with it! */
-        Object*              Get(const char* objectName) const throw(bad_alloc, std::bad_alloc);
+        Object*              Get(const char* objectName) const;
 
         /// facetizes a single object's tree and returns it as a non-manifold geometry
         /** Do not forget to BRLCAD::Object::Destroy() the non-manifold geometry when you are finished with it! */
-        NonManifoldGeometry* Facetize(const char* objectName) const throw(bad_alloc, std::bad_alloc);
+        NonManifoldGeometry* Facetize(const char* objectName) const;
         //@}
 
         /// @name Active set functions
@@ -132,41 +132,41 @@
         /// add the database object \a objectName to the active set
         /** The function accepts a space separated list of object names too,
             but it is not sure that this behaviour will be kept in future versions. */
-        void                 Select(const char* objectName) throw();
+        void                 Select(const char* objectName);
         /// clear the active set
-        void                 UnSelectAll(void) throw();
+        void                 UnSelectAll(void);
 
-        bool                 SelectionIsEmpty(void) const throw();
-        Vector3D             BoundingBoxMinima(void) const throw();
-        Vector3D             BoundingBoxMaxima(void) const throw();
+        bool                 SelectionIsEmpty(void) const;
+        Vector3D             BoundingBoxMinima(void) const;
+        Vector3D             BoundingBoxMaxima(void) const;
 
         /// ray trace
         class Hit {
         public:
-            virtual ~Hit(void) throw() {}
+            virtual ~Hit(void) {}
 
-            virtual const char* Name(void) const throw()                = 0;
-            virtual double      DistanceIn(void) const throw()          = 0;
-            virtual double      DistanceOut(void) const throw()         = 0;
-            virtual Vector3D    PointIn(void) const throw()             = 0;
-            virtual Vector3D    PointOut(void) const throw()            = 0;
-            virtual Vector3D    SurfaceNormalIn(void) const throw()     = 0;
-            virtual Vector3D    SurfaceNormalOut(void) const throw()    = 0;
-            virtual Curvature3D SurfaceCurvatureIn(void) const throw()  = 0;
-            virtual Curvature3D SurfaceCurvatureOut(void) const throw() = 0;
-            virtual Mapping2D   Surface2DMappingIn(void) const throw()  = 0;
-            virtual Mapping2D   Surface2DMappingOut(void) const throw() = 0;
+            virtual const char* Name(void) const                  = 0;
+            virtual double      DistanceIn(void) const            = 0;
+            virtual double      DistanceOut(void) const           = 0;
+            virtual Vector3D    PointIn(void) const               = 0;
+            virtual Vector3D    PointOut(void) const              = 0;
+            virtual Vector3D    SurfaceNormalIn(void) const       = 0;
+            virtual Vector3D    SurfaceNormalOut(void) const      = 0;
+            virtual Curvature3D SurfaceCurvatureIn(void) const    = 0;
+            virtual Curvature3D SurfaceCurvatureOut(void) const   = 0;
+            virtual Mapping2D   Surface2DMappingIn(void) const    = 0;
+            virtual Mapping2D   Surface2DMappingOut(void) const   = 0;
 
             /// some extracted data (originally from the region)
-            virtual bool        HasColor(void) const throw()            = 0;
-            virtual double      Red(void) const throw()                 = 0;
-            virtual double      Green(void) const throw()               = 0;
-            virtual double      Blue(void) const throw()                = 0;
+            virtual bool        HasColor(void) const              = 0;
+            virtual double      Red(void) const                   = 0;
+            virtual double      Green(void) const                 = 0;
+            virtual double      Blue(void) const                  = 0;
 
         protected:
-            Hit(void) throw() {}
-            Hit(const Hit&) throw() {}
-            const Hit& operator=(const Hit&) throw() {return *this;}
+            Hit(void) {}
+            Hit(const Hit&) {}
+            const Hit& operator=(const Hit&) {return *this;}
         };
 
 
@@ -180,12 +180,12 @@
             /** Do not throw en exception here.
                 This method will be called from deep inside the brlcad libraries.
                 The status of the program after an exception will be undetermined. */
-            virtual bool operator()(const Hit& hit) throw() = 0;
+            virtual bool operator()(const Hit& hit)              = 0;
 
         protected:
-            HitCallback(void) throw() {}
-            HitCallback(const HitCallback&) throw() {}
-            const HitCallback& operator=(const HitCallback&) throw() {return *this;}
+            HitCallback(void) {}
+            HitCallback(const HitCallback&) {}
+            const HitCallback& operator=(const HitCallback&) {return *this;}
         };
 
 
Index: include/brlcad/Database.h
===================================================================
--- include/brlcad/Database.h	(revision 74453)
+++ include/brlcad/Database.h	(working copy)
@@ -39,20 +39,20 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Database : public ConstDatabase {
     public:
-        virtual ~Database(void) throw();
+        virtual ~Database(void);
 
         /// loads a BRL-CAD database file (*.g)
         /** The implementation will be determed by the subclasses. */
-        virtual bool Load(const char* fileName) throw() = 0;
+        virtual bool Load(const char* fileName) = 0;
 
-        void         SetTitle(const char* title) throw(bad_alloc);
+        void         SetTitle(const char* title);
 
         /// adds an object to the database
-        bool         Add(const Object& object) throw();
+        bool         Add(const Object& object);
 
         /// removes an object from the database
         /** The object but not its references are removed. */
-        void         Delete(const char* objectName) throw();
+        void         Delete(const char* objectName);
 
         /// @name Accessing objects
         //@{
@@ -60,15 +60,15 @@
 
         class ObjectCallback {
         public:
-            virtual ~ObjectCallback(void) throw() {}
+            virtual ~ObjectCallback(void) {}
 
             /// the user has to implement this object method to evaluate and modify the object
             virtual void operator()(Object& object) = 0;
 
         protected:
-            ObjectCallback(void) throw() {}
-            ObjectCallback(const ObjectCallback&) throw() {}
-            const ObjectCallback& operator=(const ObjectCallback&) throw() {return *this;}
+            ObjectCallback(void) {}
+            ObjectCallback(const ObjectCallback&) {}
+            const ObjectCallback& operator=(const ObjectCallback&) {return *this;}
         };
 
         /// selects a single object and hand it over to an ObjectCallback (for read and write)
@@ -77,13 +77,13 @@
 
         /// provided for convenience: selects a single object and sets it to \a object
         /** The type of the object in the database and \a object must match. */
-        void         Set(const Object& object) throw(bad_alloc);
+        void         Set(const Object& object);
         //@}
 
     protected:
         rt_wdb* m_wdbp;
 
-        Database(void) throw(bad_alloc);
+        Database(void);
 
     private:
         Database(const Database&);                  // not implemented
Index: include/brlcad/Ellipsoid.h
===================================================================
--- include/brlcad/Ellipsoid.h	(revision 74453)
+++ include/brlcad/Ellipsoid.h	(working copy)
@@ -39,54 +39,54 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Ellipsoid : public Object {
     public:
-        Ellipsoid(void) throw(bad_alloc);                               ///< constructs the unit circle around the origin
+        Ellipsoid(void);                                    ///< constructs the unit circle around the origin
         Ellipsoid(const Vector3D& center,
                   const Vector3D& semiPrincipalAxisA,
                   const Vector3D& semiPrincipalAxisB,
-                  const Vector3D& semiPrincipalAxisC) throw(bad_alloc); ///< center and three perpendicular semi-principal-axes
+                  const Vector3D& semiPrincipalAxisC);      ///< center and three perpendicular semi-principal-axes
         Ellipsoid(const Vector3D& center,
                   const Vector3D& semiPrincipalAxis,
-                  double          radius) throw(bad_alloc);             ///< center, one semi-principal-axis and radius (body of revolution)
+                  double          radius);                  ///< center, one semi-principal-axis and radius (body of revolution)
         Ellipsoid(const Vector3D& center,
-                  double          radius) throw(bad_alloc);             ///< sphere with center and radius
-        Ellipsoid(const Ellipsoid& original) throw(bad_alloc);
-        virtual ~Ellipsoid(void) throw();
+                  double          radius);                  ///< sphere with center and radius
+        Ellipsoid(const Ellipsoid& original);
+        virtual ~Ellipsoid(void);
 
-        const Ellipsoid&      operator=(const Ellipsoid& original) throw(bad_alloc);
+        const Ellipsoid&      operator=(const Ellipsoid& original);
 
-        Vector3D              Center(void) const throw();
-        void                  SetCenter(const Vector3D& center) throw();
+        Vector3D              Center(void) const;
+        void                  SetCenter(const Vector3D& center);
 
         /// semi principal axes are accessed by their index (0/1/2 for the vectos a/b/c)*/
-        Vector3D              SemiPrincipalAxis(size_t index) const throw();
+        Vector3D              SemiPrincipalAxis(size_t index) const;
         void                  SetSemiPrincipalAxis(size_t          index,
-                                                   const Vector3D& semiPrincipalAxis) throw();
+                                                   const Vector3D& semiPrincipalAxis);
 
         void                  Set(const Vector3D& center,
                                   const Vector3D& semiPrincipalAxisA,
                                   const Vector3D& semiPrincipalAxisB,
-                                  const Vector3D& semiPrincipalAxisC) throw();
+                                  const Vector3D& semiPrincipalAxisC);
         void                  Set(const Vector3D& center,
                                   const Vector3D& semiPrincipalAxis,
-                                  double          radius) throw();
+                                  double          radius);
         void                  SetFocals(const Vector3D& focalA,
                                         const Vector3D& focalB,
-                                        double          majorAxisLength) throw();
+                                        double          majorAxisLength);
         void                  SetSphere(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(); ///< checks if semi-principal axes are perpendicular and if they have positive length
+        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 semi-principal axes are perpendicular and if they have positive length
 
     protected:
         Ellipsoid(resource*       resp,
                   directory*      pDir,
                   rt_db_internal* ip,
-                  db_i*           dbip) throw();
+                  db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -93,8 +93,8 @@
     private:
         rt_ell_internal* m_internalp;
 
-        rt_ell_internal*       Internal(void) throw();
-        const rt_ell_internal* Internal(void) const throw();
+        rt_ell_internal*       Internal(void);
+        const rt_ell_internal* Internal(void) const;
 
         friend class Database;
     };
Index: include/brlcad/EllipticalTorus.h
===================================================================
--- include/brlcad/EllipticalTorus.h	(revision 74453)
+++ include/brlcad/EllipticalTorus.h	(working copy)
@@ -39,50 +39,50 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT EllipticalTorus : public Object {
     public:
-        EllipticalTorus(void) throw(bad_alloc);                                    ///< constructs a torus at origin with circular tube of unit radius, radius from center to tube-center of 2 and unit normal pointing in positive z direction
+        EllipticalTorus(void);                                        ///< constructs a torus at origin with circular tube of unit radius, radius from center to tube-center of 2 and unit normal pointing in positive z direction
         EllipticalTorus(const Vector3D& center,
                         const Vector3D& normalToTubeCenterLinePlane,
                         double          tubeCenterLineRadius,
                         const Vector3D& tubeSemiMajorAxis,
-                        double          tubeSemiMinorAxisLength) throw(bad_alloc); ///< center, normal of unit length (will be unitized of not of unit length), radius of revolution, semi-major axis of ellipse, length semi-minor axis of ellipse
-        EllipticalTorus(const EllipticalTorus& original) throw(bad_alloc);
-        virtual ~EllipticalTorus(void) throw();
+                        double          tubeSemiMinorAxisLength);     ///< center, normal of unit length (will be unitized of not of unit length), radius of revolution, semi-major axis of ellipse, length semi-minor axis of ellipse
+        EllipticalTorus(const EllipticalTorus& original);
+        virtual ~EllipticalTorus(void);
 
-        const EllipticalTorus& operator=(const EllipticalTorus& original) throw(bad_alloc);
+        const EllipticalTorus& operator=(const EllipticalTorus& 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);
 
-        Vector3D               TubeSemiMajorAxis(void) const throw();
-        void                   SetTubeSemiMajorAxis(const Vector3D& axis) throw();
+        Vector3D               TubeSemiMajorAxis(void) const;
+        void                   SetTubeSemiMajorAxis(const Vector3D& axis);
 
-        double                 TubeSemiMinorAxis(void) const throw();
-        void                   SetTubeSemiMinorAxis(double length) throw();
+        double                 TubeSemiMinorAxis(void) const;
+        void                   SetTubeSemiMinorAxis(double length);
 
         void                   Set(const Vector3D& center,
                                    const Vector3D& normalToTubeCenterLinePlane,
                                    double          tubeCenterLineRadius,
                                    const Vector3D& tubeSemiMajorAxis,
-                                   double          tubeSemiMinorAxisLength) throw();
+                                   double          tubeSemiMinorAxisLength);
 
         // 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 positive length, if radii are not 0 and if ellipse not overlap itself when revolved
+        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 positive length, if radii are not 0 and if ellipse not overlap itself when revolved
 
     protected:
         EllipticalTorus(resource*       resp,
                         directory*      pDir,
                         rt_db_internal* ip,
-                        db_i*           dbip) throw();
+                        db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -89,8 +89,8 @@
     private:
         rt_eto_internal* m_internalp;
 
-        const rt_eto_internal* Internal(void) const throw();
-        rt_eto_internal*       Internal(void) throw();
+        const rt_eto_internal* Internal(void) const;
+        rt_eto_internal*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/FileDatabase.h
===================================================================
--- include/brlcad/FileDatabase.h	(revision 74453)
+++ include/brlcad/FileDatabase.h	(working copy)
@@ -38,13 +38,13 @@
     public:
         /// creates a dysfunctional database
         /** Use Load() to enable this object. */
-        FileDatabase(void) throw(bad_alloc);
-        virtual ~FileDatabase(void) throw();
+        FileDatabase(void);
+        virtual ~FileDatabase(void);
 
         /// loads a BRL-CAD database file (*.g)
         /** If the file doesn't exist it will becreated
          *  All changes to the database will be immediately written to this file. */
-        virtual bool Load(const char* fileName) throw();
+        virtual bool Load(const char* fileName);
 
     private:
         FileDatabase(const FileDatabase&);                  // not implemented
Index: include/brlcad/Object.h
===================================================================
--- include/brlcad/Object.h	(revision 74453)
+++ include/brlcad/Object.h	(working copy)
@@ -45,37 +45,37 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Object {
     public:
-        virtual ~Object(void) throw();
+        virtual ~Object(void);
 
         // works if both Objects are of the same derived class
-        virtual const Object& operator=(const Object& original) throw(bad_alloc) = 0;
+        virtual const Object& operator=(const Object& original)          = 0;
 
         // a virtual constructor which creates the right derived class
         // and the corresponding destructor
         // which keeps the memory management in a healthy state
-        virtual Object*       Clone(void) const throw(bad_alloc, std::bad_alloc) = 0;
-        void                  Destroy(void) throw();
+        virtual Object*       Clone(void) const                          = 0;
+        void                  Destroy(void);
 
         // these two functions can be used to determine the type of the object
-        static const char*    ClassName(void) throw();
-        virtual const char*   Type(void) const throw()                           = 0;
+        static const char*    ClassName(void);
+        virtual const char*   Type(void) const                           = 0;
 
         // Is this object functional?
-        virtual bool          IsValid(void) const throw()                        = 0;
+        virtual bool          IsValid(void) const                        = 0;
 
         // for all objects
-        const char*           Name(void) const throw();
-        void                  SetName(const char* name) throw(bad_alloc);
+        const char*           Name(void) const;
+        void                  SetName(const char* name);
 
 
         class BRLCAD_COREINTERFACE_EXPORT AttributeIterator {
         public:
-            AttributeIterator(const AttributeIterator& original) throw() : m_avs(original.m_avs),
+            AttributeIterator(const AttributeIterator& original) : m_avs(original.m_avs),
                                                                            m_searchKey(original.m_searchKey),
                                                                            m_index(original.m_index) {}
-            ~AttributeIterator(void) throw() {}
+            ~AttributeIterator(void) {}
 
-            const AttributeIterator& operator=(const AttributeIterator& original) throw() {
+            const AttributeIterator& operator=(const AttributeIterator& original) {
                 m_avs       = original.m_avs;
                 m_searchKey = original.m_searchKey;
                 m_index     = original.m_index;
@@ -82,10 +82,10 @@
                 return *this;
             }
 
-            const AttributeIterator& operator++(void) throw();
-            bool                     Good(void) const throw();
-            const char*              Key(void) const throw();
-            const char*              Value(void) const throw();
+            const AttributeIterator& operator++(void);
+            bool                     Good(void) const;
+            const char*              Key(void) const;
+            const char*              Value(void) const;
 
         private:
             const bu_attribute_value_set* m_avs;
@@ -94,7 +94,7 @@
 
             AttributeIterator(const bu_attribute_value_set* avs,
                               const char*                   searchKey,
-                              size_t                        index) throw();
+                              size_t                        index);
 
             friend class Object;
 
@@ -102,16 +102,16 @@
         };
 
 
-        bool                  HasAttribute(const char* key) const throw();
-        AttributeIterator     FirstAttribute(void) const throw();                    ///> returns an iterator pointing on the first attribute
-        const char*           Attribute(const char* key) const throw();              ///> returns the value of the first attribute with this key
-        AttributeIterator     MultiAttribute(const char* key) const throw();         ///> returns an iterator pointing on the first attribute with this key
+        bool                  HasAttribute(const char* key) const;
+        AttributeIterator     FirstAttribute(void) const;                    ///> returns an iterator pointing on the first attribute
+        const char*           Attribute(const char* key) const;              ///> returns the value of the first attribute with this key
+        AttributeIterator     MultiAttribute(const char* key) const;         ///> returns an iterator pointing on the first attribute with this key
         void                  SetAttribute(const char* key,
-                                           const char* value) throw(bad_alloc);      ///> overwrites the attribute entry with this key or creates a new one if there is none
+                                           const char* value);               ///> overwrites the attribute entry with this key or creates a new one if there is none
         void                  AddMultiAttribute(const char* key,
-                                                const char* value) throw(bad_alloc); ///> creates an attribute entry with this values even if there exitsts already one with this key
-        void                  RemoveAttribute(const char* key) throw();              ///> removes the first attribute with this key
-        void                  ClearAttributes(void) throw();                         ///> removes all attributes
+                                                const char* value);          ///> creates an attribute entry with this values even if there exitsts already one with this key
+        void                  RemoveAttribute(const char* key);              ///> removes the first attribute with this key
+        void                  ClearAttributes(void);                         ///> removes all attributes
 
 
     protected:
@@ -120,15 +120,15 @@
         rt_db_internal* m_ip;
         db_i*           m_dbip;
 
-        Object(void) throw(bad_alloc);
+        Object(void);
         Object(resource*       resp,
                directory*      pDir,
                rt_db_internal* ip,
-               db_i*           dbip) throw();
-        Object(const Object& original) throw(bad_alloc);
+               db_i*           dbip);
+        Object(const Object& original);
 
-        void Copy(const Object& original) throw(bad_alloc);
-        bool Validate(void) const throw();
+        void Copy(const Object& original);
+        bool Validate(void) const;
 
     private:
         // holds Objects's name if not connected to a database
@@ -135,8 +135,8 @@
         char*                   m_name;
         bu_attribute_value_set* m_avs;
 
-        const bu_attribute_value_set* GetAvs(void) const throw();
-        bu_attribute_value_set*       GetAvs(bool create) throw();
+        const bu_attribute_value_set* GetAvs(void) const;
+        bu_attribute_value_set*       GetAvs(bool create);
 
         friend class Database;
     };
Index: src/coreInterface/ConstDatabase.cpp
===================================================================
--- src/coreInterface/ConstDatabase.cpp	(revision 74453)
+++ src/coreInterface/ConstDatabase.cpp	(working copy)
@@ -71,7 +71,7 @@
 }
 
 
-static void InitBrlCad(void) throw() {
+static void InitBrlCad(void) {
     static bool init = true;
 
     if (init) { // do it only once
@@ -89,7 +89,7 @@
 // class ConstDatabase
 //
 
-ConstDatabase::ConstDatabase(void) throw(bad_alloc) : m_rtip(0), m_resp(0) {
+ConstDatabase::ConstDatabase(void) : m_rtip(0), m_resp(0) {
     InitBrlCad();
 
     if (rt_uniresource.re_magic != RESOURCE_MAGIC)
@@ -99,16 +99,14 @@
         m_resp = static_cast<resource*>(bu_calloc(1, sizeof(resource), "BRLCAD::ConstDatabase::~ConstDatabase::m_resp"));
         rt_init_resource(m_resp, 0, NULL);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Object::Object");
-    }
 
     BU_UNSETJUMP;
 }
 
 
-ConstDatabase::~ConstDatabase(void) throw() {
+ConstDatabase::~ConstDatabase(void) {
     if (m_rtip != 0) {
         if (!BU_SETJUMP)
             rt_free_rti(m_rtip);
@@ -126,7 +124,7 @@
 bool ConstDatabase::Load
 (
     const char* fileName
-) throw() {
+) {
     if (m_resp != 0) {
         if (m_rtip != 0) {
             if (!BU_SETJUMP)
@@ -162,7 +160,7 @@
 }
 
 
-const char* ConstDatabase::Title(void) const throw() {
+const char* ConstDatabase::Title(void) const {
     const char* ret = 0;
 
     if (m_rtip != 0)
@@ -172,7 +170,7 @@
 }
 
 
-const ConstDatabase::TopObjectIterator& ConstDatabase::TopObjectIterator::operator++(void) throw() {
+const ConstDatabase::TopObjectIterator& ConstDatabase::TopObjectIterator::operator++(void) {
     if (m_pDir != 0) {
         const directory* oldPDir = m_pDir;
 
@@ -203,12 +201,12 @@
 }
 
 
-bool ConstDatabase::TopObjectIterator::Good(void) const throw() {
+bool ConstDatabase::TopObjectIterator::Good(void) const {
     return (m_pDir != 0);
 }
 
 
-const char* ConstDatabase::TopObjectIterator::Name(void) const throw() {
+const char* ConstDatabase::TopObjectIterator::Name(void) const {
     assert(m_pDir != 0);
 
     const char* ret = 0;
@@ -225,10 +223,10 @@
     size_t           hashTablePosition,
     const directory* pDir,
     const rt_i*      rtip
-) throw() : m_hashTablePosition(hashTablePosition), m_pDir(pDir), m_rtip(rtip) {}
+) : m_hashTablePosition(hashTablePosition), m_pDir(pDir), m_rtip(rtip) {}
 
 
-ConstDatabase::TopObjectIterator ConstDatabase::FirstTopObject(void) const throw() {
+ConstDatabase::TopObjectIterator ConstDatabase::FirstTopObject(void) const {
     size_t           hashTablePosition = 0;
     const directory* pDirectory        = 0;
 
@@ -337,7 +335,6 @@
                     catch(...) {
                         BU_UNSETJUMP;
                         rt_db_free_internal(&intern);
-                        throw;
                     }
 
                     rt_db_free_internal(&intern);
@@ -353,13 +350,13 @@
 Object* ConstDatabase::Get
 (
     const char* objectName
-) const throw(bad_alloc, std::bad_alloc) {
+) const {
     class ObjectCallbackIntern : public ObjectCallback {
     public:
         ObjectCallbackIntern(void) : ConstDatabase::ObjectCallback(),
                                      m_object(0) {}
 
-        virtual ~ObjectCallbackIntern(void) throw() {}
+        virtual ~ObjectCallbackIntern(void) {}
 
         virtual void operator()(const Object& object) {
             try {
@@ -368,7 +365,7 @@
             catch(std::bad_alloc&) {}
         }
 
-        Object*      GetObject(void) const throw() {
+        Object*      GetObject(void) const {
             return m_object;
         }
 
@@ -428,7 +425,7 @@
 NonManifoldGeometry* ConstDatabase::Facetize
 (
     const char* objectName
-) const throw(bad_alloc, std::bad_alloc) {
+) const {
     NonManifoldGeometry* ret          = new NonManifoldGeometry;
 
     if (m_rtip != 0) {
@@ -466,10 +463,8 @@
                 }
             }
         }
-        else {
+        else
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Object::Facetize");
-        }
 
         BU_UNSETJUMP;
     }
@@ -481,7 +476,7 @@
 void ConstDatabase::Select
 (
     const char* objectName
-) throw() {
+) {
     if (m_rtip != 0) {
         if (!BU_SETJUMP)
             rt_gettree(m_rtip, objectName);
@@ -491,7 +486,7 @@
 }
 
 
-void ConstDatabase::UnSelectAll(void) throw() {
+void ConstDatabase::UnSelectAll(void) {
     if (m_rtip != 0) {
         if (!BU_SETJUMP)
             rt_clean(m_rtip);
@@ -501,7 +496,7 @@
 }
 
 
-bool ConstDatabase::SelectionIsEmpty(void) const throw() {
+bool ConstDatabase::SelectionIsEmpty(void) const {
     bool ret = true;
 
     if (m_rtip != 0)
@@ -511,7 +506,7 @@
 }
 
 
-Vector3D ConstDatabase::BoundingBoxMinima(void) const throw() {
+Vector3D ConstDatabase::BoundingBoxMinima(void) const {
     Vector3D ret;
 
     if (!SelectionIsEmpty()) {
@@ -529,7 +524,7 @@
 }
 
 
-Vector3D ConstDatabase::BoundingBoxMaxima(void) const throw() {
+Vector3D ConstDatabase::BoundingBoxMaxima(void) const {
     Vector3D ret;
 
     if (!SelectionIsEmpty()) {
@@ -551,50 +546,50 @@
 public:
     ConstDatabaseHit(application* ap,
                      partition*   part,
-                     region*      reg) throw() : ConstDatabase::Hit(),
-                                                  m_application(ap),
-                                                  m_partition(part),
-                                                  m_region(reg),
-                                                  m_inVectorsComputed(false),
-                                                  m_outVectorsComputed(false) {
+                     region*      reg) : ConstDatabase::Hit(),
+                                          m_application(ap),
+                                          m_partition(part),
+                                          m_region(reg),
+                                          m_inVectorsComputed(false),
+                                          m_outVectorsComputed(false) {
         assert(m_application != 0);
         assert(m_partition != 0);
         assert(m_region != 0);
    }
 
-    virtual const char* Name(void) const throw() {
+    virtual const char* Name(void) const {
         return m_region->reg_name;
     }
 
-    virtual double      DistanceIn(void) const throw() {
+    virtual double      DistanceIn(void) const {
         return m_partition->pt_inhit->hit_dist;
     }
 
-    virtual double      DistanceOut(void) const throw() {
+    virtual double      DistanceOut(void) const {
         return m_partition->pt_outhit->hit_dist;
     }
 
-    virtual Vector3D    PointIn(void) const throw() {
+    virtual Vector3D    PointIn(void) const {
         ComputeInVectors();
         return m_partition->pt_inhit->hit_point;
     }
 
-    virtual Vector3D    PointOut(void) const throw() {
+    virtual Vector3D    PointOut(void) const {
         ComputeOutVectors();
         return m_partition->pt_outhit->hit_point;
     }
 
-    virtual Vector3D    SurfaceNormalIn(void) const throw() {
+    virtual Vector3D    SurfaceNormalIn(void) const {
         ComputeInVectors();
         return m_partition->pt_inhit->hit_normal;
     }
 
-    virtual Vector3D    SurfaceNormalOut(void) const throw() {
+    virtual Vector3D    SurfaceNormalOut(void) const {
         ComputeOutVectors();
         return m_partition->pt_outhit->hit_normal;
     }
 
-    virtual Curvature3D SurfaceCurvatureIn(void) const throw() {
+    virtual Curvature3D SurfaceCurvatureIn(void) const {
         ComputeInVectors();
 
         curvature curv;
@@ -603,7 +598,7 @@
         return Curvature3D(curv.crv_pdir, curv.crv_c1, curv.crv_c2);
     }
 
-    virtual Curvature3D SurfaceCurvatureOut(void) const throw() {
+    virtual Curvature3D SurfaceCurvatureOut(void) const {
         ComputeOutVectors();
 
         curvature curv;
@@ -612,7 +607,7 @@
         return Curvature3D(curv.crv_pdir, curv.crv_c1, curv.crv_c2);
     }
 
-    virtual Mapping2D   Surface2DMappingIn(void) const throw() {
+    virtual Mapping2D   Surface2DMappingIn(void) const {
         uvcoord uv;
         RT_HIT_UVCOORD(m_application, m_partition->pt_inseg->seg_stp, m_partition->pt_inhit, &uv);
 
@@ -619,7 +614,7 @@
         return Mapping2D(Vector2D(uv.uv_u, uv.uv_v), Vector2D(uv.uv_du, uv.uv_dv));
     }
 
-    virtual Mapping2D   Surface2DMappingOut(void) const throw() {
+    virtual Mapping2D   Surface2DMappingOut(void) const {
         uvcoord uv;
         RT_HIT_UVCOORD(m_application, m_partition->pt_outseg->seg_stp, m_partition->pt_outhit, &uv);
 
@@ -626,19 +621,19 @@
         return Mapping2D(Vector2D(uv.uv_u, uv.uv_v), Vector2D(uv.uv_du, uv.uv_dv));
     }
 
-    virtual bool        HasColor(void) const throw() {
+    virtual bool        HasColor(void) const {
         return (m_region->reg_mater.ma_color_valid != 0);
     }
 
-    virtual double      Red(void) const throw() {
+    virtual double      Red(void) const {
         return m_region->reg_mater.ma_color[0];
     }
 
-    virtual double      Green(void) const throw() {
+    virtual double      Green(void) const {
         return m_region->reg_mater.ma_color[1];
     }
 
-    virtual double      Blue(void) const throw() {
+    virtual double      Blue(void) const {
         return m_region->reg_mater.ma_color[2];
     }
 
@@ -649,7 +644,7 @@
     mutable bool m_inVectorsComputed;
     mutable bool m_outVectorsComputed;
 
-    void ComputeInVectors(void) const throw() {
+    void ComputeInVectors(void) const {
         if (!m_inVectorsComputed) {
             hit* pHit = m_partition->pt_inhit;
 
@@ -658,7 +653,7 @@
         }
     }
 
-    void ComputeOutVectors(void) const throw() {
+    void ComputeOutVectors(void) const {
         if (!m_outVectorsComputed) {
             hit* pHit = m_partition->pt_outhit;
 
@@ -723,15 +718,13 @@
             }
             catch(...) {
                 BU_UNSETJUMP;
-                throw;
-            }
         }
 
         BU_UNSETJUMP;
-    }
+      }
+   }
 }
 
-
 static void MultioverlapDo
 (
     application* ap,
@@ -797,7 +790,6 @@
             }
             catch(...) {
                 BU_UNSETJUMP;
-                throw;
             }
         }
 
Index: src/coreInterface/Database.cpp
===================================================================
--- src/coreInterface/Database.cpp	(revision 74453)
+++ src/coreInterface/Database.cpp	(working copy)
@@ -62,7 +62,7 @@
 using namespace BRLCAD;
 
 
-Database::~Database(void) throw() {
+Database::~Database(void) {
     if (m_wdbp != 0) {
         if (!BU_SETJUMP)
             wdb_close(m_wdbp);
@@ -75,14 +75,12 @@
 void Database::SetTitle
 (
     const char* title
-) throw(bad_alloc) {
+) {
     if (m_wdbp != 0) {
         if (!BU_SETJUMP)
             db_update_ident(m_wdbp->dbip, title, m_wdbp->dbip->dbi_base2local);
-        else {
+        else
             BU_UNSETJUMP;
-            throw bad_alloc("BRLCAD::Database::SetTitle");
-        }
 
         BU_UNSETJUMP;
     }
@@ -92,7 +90,7 @@
 bool Database::Add
 (
     const Object& object
-) throw() {
+) {
     bool ret = false;
 
     if (m_wdbp != 0) {
@@ -301,7 +299,7 @@
 void Database::Delete
 (
     const char* objectName
-) throw() {
+) {
     if (m_wdbp != 0) {
         if (!BU_SETJUMP) {
             directory* pDir = db_lookup(m_rtip->rti_dbip, objectName, LOOKUP_NOISE);
@@ -327,7 +325,7 @@
         ObjectCallbackIntern(Database::ObjectCallback& cb) : ConstDatabase::ObjectCallback(),
                                                              m_callback(cb) {}
 
-        virtual ~ObjectCallbackIntern(void) throw() {}
+        virtual ~ObjectCallbackIntern(void) {}
 
         virtual void operator()(const Object& object) {
             Object& objectIntern = const_cast<Object&>(object);
@@ -354,13 +352,13 @@
 void Database::Set
 (
     const Object& object
-) throw(bad_alloc) {
+) {
     class ObjectCallbackIntern : public ObjectCallback {
     public:
         ObjectCallbackIntern(const Object& obj) : ObjectCallback(),
                                                   m_object(obj) {}
 
-        virtual ~ObjectCallbackIntern(void) throw() {}
+        virtual ~ObjectCallbackIntern(void) {}
 
         virtual void operator()(Object& obj) {
             obj = m_object;
@@ -374,4 +372,4 @@
 }
 
 
-Database::Database(void) throw(bad_alloc) : ConstDatabase(), m_wdbp(0) {}
+Database::Database(void) : ConstDatabase(), m_wdbp(0) {}
Index: src/coreInterface/Ellipsoid.cpp
===================================================================
--- src/coreInterface/Ellipsoid.cpp	(revision 74453)
+++ src/coreInterface/Ellipsoid.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-Ellipsoid::Ellipsoid(void) throw(bad_alloc) : Object() {
+Ellipsoid::Ellipsoid(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -46,10 +46,8 @@
 
         SetSphere(Vector3D(), 1.);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Ellipsoid::Ellipsoid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -61,7 +59,7 @@
     const Vector3D& semiPrincipalAxisA,
     const Vector3D& semiPrincipalAxisB,
     const Vector3D& semiPrincipalAxisC
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -68,10 +66,8 @@
 
         Set(center, semiPrincipalAxisA, semiPrincipalAxisB, semiPrincipalAxisC);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Ellipsoid::Ellipsoid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -82,7 +78,7 @@
     const Vector3D& center,
     const Vector3D& semiPrincipalAxis,
     double          radius
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -89,10 +85,8 @@
 
         Set(center, semiPrincipalAxis, radius);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Ellipsoid::Ellipsoid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -102,7 +96,7 @@
 (
     const Vector3D& center,
     double          radius
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ell_internal);
         m_internalp->magic = RT_ELL_INTERNAL_MAGIC;
@@ -109,10 +103,8 @@
 
         SetSphere(center, radius);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Ellipsoid::Ellipsoid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -121,21 +113,19 @@
 Ellipsoid::Ellipsoid
 (
     const Ellipsoid& 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));
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Ellipsoid::Ellipsoid");
-    }
 
     BU_UNSETJUMP;
 }
 
 
-Ellipsoid::~Ellipsoid(void) throw() {
+Ellipsoid::~Ellipsoid(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Ellipsoid::~Ellipsoid::m_internalp");
 }
@@ -144,7 +134,7 @@
 const Ellipsoid& Ellipsoid::operator=
 (
     const Ellipsoid& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_ell_internal));
@@ -154,7 +144,7 @@
 }
 
 
-Vector3D Ellipsoid::Center(void) const throw() {
+Vector3D Ellipsoid::Center(void) const {
     return Vector3D(Internal()->v);
 }
 
@@ -162,7 +152,7 @@
 void Ellipsoid::SetCenter
 (
     const Vector3D& center
-) throw(){
+) {
     VMOVE(Internal()->v, center.coordinates);
 }
 
@@ -170,7 +160,7 @@
 Vector3D Ellipsoid::SemiPrincipalAxis
 (
     size_t index
-) const throw(){
+) const {
     Vector3D ret;
 
     assert(index < 3);
@@ -196,7 +186,7 @@
 (
     size_t          index,
     const Vector3D& semiPrincipalAxis
-) throw(){
+) {
     assert(index < 3);
 
     switch (index) {
@@ -220,7 +210,7 @@
     const Vector3D& semiPrincipalAxisA,
     const Vector3D& semiPrincipalAxisB,
     const Vector3D& semiPrincipalAxisC
-) throw(){
+) {
     rt_ell_internal* internalp = Internal();
 
     VMOVE(internalp->v, center.coordinates);
@@ -235,7 +225,7 @@
     const Vector3D& center,
     const Vector3D& semiPrincipalAxis,
     double          radius
-) throw() {
+) {
     double length = MAGNITUDE(semiPrincipalAxis.coordinates);
 
     assert(length > SMALL_FASTF);
@@ -261,7 +251,7 @@
     const Vector3D& focalA,
     const Vector3D& focalB,
     double          majorAxisLength
-) throw(){
+) {
     assert(majorAxisLength > SMALL_FASTF);
 
     if (majorAxisLength > SMALL_FASTF) {
@@ -305,7 +295,7 @@
 (
     const Vector3D& center,
     double          radius
-) throw() {
+) {
     assert(radius > SMALL_FASTF);
 
     if (!NEAR_ZERO(radius, SMALL_FASTF)) {
@@ -322,7 +312,7 @@
 const Object& Ellipsoid::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Ellipsoid* ell = dynamic_cast<const Ellipsoid*>(&original);
     assert(ell != 0);
 
@@ -333,22 +323,22 @@
 }
 
 
-Object* Ellipsoid::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Ellipsoid::Clone(void) const {
     return new Ellipsoid(*this);
 }
 
 
-const char* Ellipsoid::ClassName(void) throw() {
+const char* Ellipsoid::ClassName(void) {
     return "Ellipsoid";
 }
 
 
-const char* Ellipsoid::Type(void) const throw() {
+const char* Ellipsoid::Type(void) const {
     return ClassName();
 }
 
 
-bool Ellipsoid::IsValid(void) const throw() {
+bool Ellipsoid::IsValid(void) const {
     bool                   ret       = false;
     const rt_ell_internal* internalp = Internal();
 
@@ -370,10 +360,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_ell_internal* Ellipsoid::Internal(void) throw() {
+rt_ell_internal* Ellipsoid::Internal(void) {
     rt_ell_internal* ret;
 
     if (m_ip != 0)
@@ -387,7 +377,7 @@
 }
 
 
-const rt_ell_internal* Ellipsoid::Internal(void) const throw() {
+const rt_ell_internal* Ellipsoid::Internal(void) const {
     const rt_ell_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/EllipticalTorus.cpp
===================================================================
--- src/coreInterface/EllipticalTorus.cpp	(revision 74453)
+++ src/coreInterface/EllipticalTorus.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-EllipticalTorus::EllipticalTorus(void) throw(bad_alloc) : Object() {
+EllipticalTorus::EllipticalTorus(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_eto_internal);
         m_internalp->eto_magic = RT_ETO_INTERNAL_MAGIC;
@@ -46,10 +46,8 @@
 
         Set(Vector3D(), Vector3D(0., 0., 1.), 2., Vector3D(1., 0., 0.), 1.);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::EllipticalTorus::EllipticalTorus");
-    }
 
     BU_UNSETJUMP;
 }
@@ -62,7 +60,7 @@
     double          tubeCenterLineRadius,
     const Vector3D& tubeSemiMajorAxis,
     double          tubeSemiMinorAxisLength
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_eto_internal);
         m_internalp->eto_magic = RT_ETO_INTERNAL_MAGIC;
@@ -69,10 +67,8 @@
 
         Set(center, normalToTubeCenterLinePlane, tubeCenterLineRadius, tubeSemiMajorAxis, tubeSemiMinorAxisLength);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::EllipticalTorus::EllipticalTorus");
-    }
 
     BU_UNSETJUMP;
 }
@@ -81,21 +77,19 @@
 EllipticalTorus::EllipticalTorus
 (
     const EllipticalTorus& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_eto_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_eto_internal));
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::EllipticalTorus::EllipticalTorus");
-    }
 
     BU_UNSETJUMP;
 }
 
 
-EllipticalTorus::~EllipticalTorus(void) throw() {
+EllipticalTorus::~EllipticalTorus(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::EllipticalTorus::~EllipticalTorus::m_internalp");
 }
@@ -104,7 +98,7 @@
 const EllipticalTorus& EllipticalTorus::operator =
 (
     const EllipticalTorus& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_eto_internal));
@@ -114,7 +108,7 @@
 }
 
 
-Vector3D EllipticalTorus::Center(void) const throw() {
+Vector3D EllipticalTorus::Center(void) const {
     return Vector3D(Internal()->eto_V);
 }
 
@@ -122,12 +116,12 @@
 void EllipticalTorus::SetCenter
 (
     const Vector3D& center
-) throw() {
+) {
     VMOVE(Internal()->eto_V, center.coordinates);
 }
 
 
-Vector3D EllipticalTorus::Normal(void) const throw() {
+Vector3D EllipticalTorus::Normal(void) const {
     return Vector3D(Internal()->eto_N);
 }
 
@@ -135,7 +129,7 @@
 void EllipticalTorus::SetNormal
 (
     const Vector3D& normal
-) throw() {
+) {
     assert(!VNEAR_ZERO(normal.coordinates, SMALL_FASTF));
 
     VMOVE(Internal()->eto_N, normal.coordinates);
@@ -143,7 +137,7 @@
 }
 
 
-double EllipticalTorus::TubeCenterLineRadius(void) const throw() {
+double EllipticalTorus::TubeCenterLineRadius(void) const {
     return Internal()->eto_r;
 }
 
@@ -151,12 +145,12 @@
 void EllipticalTorus::SetTubeCenterLineRadius
 (
     double radius
-) throw() {
+) {
     Internal()->eto_r = radius;
 }
 
 
-Vector3D EllipticalTorus::TubeSemiMajorAxis(void) const throw() {
+Vector3D EllipticalTorus::TubeSemiMajorAxis(void) const {
     return Vector3D(Internal()->eto_C);
 }
 
@@ -164,12 +158,12 @@
 void EllipticalTorus::SetTubeSemiMajorAxis
 (
     const Vector3D& axis
-) throw() {
+) {
     VMOVE(Internal()->eto_C, axis.coordinates);
 }
 
 
-double EllipticalTorus::TubeSemiMinorAxis(void) const throw() {
+double EllipticalTorus::TubeSemiMinorAxis(void) const {
     return Internal()->eto_rd;
 }
 
@@ -177,7 +171,7 @@
 void EllipticalTorus::SetTubeSemiMinorAxis
 (
     double length
-) throw() {
+) {
     Internal()->eto_rd = length;
 }
 
@@ -189,7 +183,7 @@
     double          tubeCenterLineRadius,
     const Vector3D& tubeSemiMajorAxis,
     double          tubeSemiMinorAxisLength
-) throw(){
+) {
      rt_eto_internal* internalp = Internal();
 
     VMOVE(internalp->eto_V, center.coordinates);
@@ -207,7 +201,7 @@
 const Object& EllipticalTorus::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const EllipticalTorus* eto = dynamic_cast<const EllipticalTorus*>(&original);
     assert(eto != 0);
 
@@ -218,22 +212,22 @@
 }
 
 
-Object* EllipticalTorus::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* EllipticalTorus::Clone(void) const {
     return new EllipticalTorus(*this);
 }
 
 
-const char* EllipticalTorus::ClassName(void) throw() {
+const char* EllipticalTorus::ClassName(void) {
     return "EllipticalTorus";
 }
 
 
-const char* EllipticalTorus::Type(void) const throw() {
+const char* EllipticalTorus::Type(void) const {
     return ClassName();
 }
 
 
-bool EllipticalTorus::IsValid(void) const throw(){
+bool EllipticalTorus::IsValid(void) const {
     bool                   ret       = false;
     const rt_eto_internal* internalp = Internal();
     double                 rc        = MAGNITUDE(internalp->eto_C);
@@ -271,10 +265,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_eto_internal* EllipticalTorus::Internal(void) const throw() {
+const rt_eto_internal* EllipticalTorus::Internal(void) const {
     const rt_eto_internal* ret;
 
     if (m_ip != 0)
@@ -288,7 +282,7 @@
 }
 
 
-rt_eto_internal* EllipticalTorus::Internal(void) throw() {
+rt_eto_internal* EllipticalTorus::Internal(void) {
     rt_eto_internal* ret;
 
     if(m_ip != 0)
Index: src/coreInterface/FileDatabase.cpp
===================================================================
--- src/coreInterface/FileDatabase.cpp	(revision 74453)
+++ src/coreInterface/FileDatabase.cpp	(working copy)
@@ -36,16 +36,16 @@
 using namespace BRLCAD;
 
 
-FileDatabase::FileDatabase(void) throw(bad_alloc) : Database() {}
+FileDatabase::FileDatabase(void) : Database() {}
 
 
-FileDatabase::~FileDatabase(void) throw() {}
+FileDatabase::~FileDatabase(void) {}
 
 
 bool FileDatabase::Load
 (
     const char* fileName
-) throw() {
+) {
     bool ret = false;
 
     if (m_resp != 0) {
Index: src/coreInterface/Object.cpp
===================================================================
--- src/coreInterface/Object.cpp	(revision 74453)
+++ src/coreInterface/Object.cpp	(working copy)
@@ -43,7 +43,7 @@
 // class Object::AttributeIterator
 //
 
-const Object::AttributeIterator& Object::AttributeIterator::operator++(void) throw() {
+const Object::AttributeIterator& Object::AttributeIterator::operator++(void) {
     if (m_avs != 0) {
         if (m_index > 0) {
             --m_index;
@@ -54,7 +54,7 @@
                         m_avs = 0;
                         break;
                     }
-                    
+
                     --m_index;
                 }
             }
@@ -67,12 +67,12 @@
 }
 
 
-bool Object::AttributeIterator::Good(void) const throw() {
+bool Object::AttributeIterator::Good(void) const {
     return (m_avs != 0);
 }
 
 
-const char* Object::AttributeIterator::Key(void) const throw() {
+const char* Object::AttributeIterator::Key(void) const {
     const char* ret = 0;
 
     assert(m_avs != 0);
@@ -84,7 +84,7 @@
 }
 
 
-const char* Object::AttributeIterator::Value(void) const throw() {
+const char* Object::AttributeIterator::Value(void) const {
     const char* ret = 0;
 
     assert(m_avs != 0);
@@ -101,7 +101,7 @@
     const bu_attribute_value_set* avs,
     const char*                   searchKey,
     size_t                        index
-) throw() : m_avs(avs), m_searchKey(searchKey), m_index(index) {}
+) : m_avs(avs), m_searchKey(searchKey), m_index(index) {}
 
 
 //
@@ -108,7 +108,7 @@
 // class Object
 //
 
-Object::~Object(void) throw() {
+Object::~Object(void) {
     if (m_name != 0)
         bu_free(m_name, "BRLCAD::Object::~Object::m_name");
 
@@ -124,17 +124,17 @@
 }
 
 
-void Object::Destroy(void) throw() {
+void Object::Destroy(void) {
     delete this;
 }
 
 
-const char* Object::ClassName(void) throw() {
+const char* Object::ClassName(void) {
     return "Object";
 }
 
 
-const char* Object::Name(void) const throw() {
+const char* Object::Name(void) const {
     const char* ret = 0;
 
     assert(!((m_pDir != RT_DIR_NULL) && (m_name != 0)));
@@ -151,7 +151,7 @@
 void Object::SetName
 (
     const char* name
-) throw(bad_alloc) {
+) {
     assert(!((m_pDir != RT_DIR_NULL) && (m_name != 0)));
 
     // not connected with a non-writable database
@@ -174,7 +174,6 @@
             else {
                 BU_UNSETJUMP;
                 m_name = 0;
-                throw bad_alloc("BRLCAD::Object::SetName");
             }
 
             BU_UNSETJUMP;
@@ -191,12 +190,12 @@
 bool Object::HasAttribute
 (
     const char* key
-) const throw() {
+) const {
     return (Attribute(key) != 0);
 }
 
 
-Object::AttributeIterator Object::FirstAttribute(void) const throw() {
+Object::AttributeIterator Object::FirstAttribute(void) const {
     const bu_attribute_value_set* avs    = GetAvs();
     const bu_attribute_value_set* avsRet = 0;
     size_t                        index  = 0;
@@ -213,7 +212,7 @@
 const char* Object::Attribute
 (
     const char* key
-) const throw() {
+) const {
     const char*                   ret = 0;
     const bu_attribute_value_set* avs = GetAvs();
 
@@ -237,7 +236,7 @@
 Object::AttributeIterator Object::MultiAttribute
 (
     const char* key
-) const throw() {
+) const {
     const bu_attribute_value_set* avs       = GetAvs();
     const bu_attribute_value_set* avsRet    = 0;
     const char*                   keyIntern = 0;
@@ -265,7 +264,7 @@
 (
     const char* key,
     const char* value
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         bu_attribute_value_set* avs = GetAvs(true);
 
@@ -272,10 +271,8 @@
         if (avs != 0)
             bu_avs_add(avs, key, value);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Object::SetMultiAttribute");
-    }
 
     BU_UNSETJUMP;
 }
@@ -285,7 +282,7 @@
 (
     const char* key,
     const char* value
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP) {
         bu_attribute_value_set* avs = GetAvs(true);
 
@@ -292,10 +289,8 @@
         if (avs != 0)
             bu_avs_add_nonunique(avs, key, value);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Object::SetMultiAttribute");
-    }
 
     BU_UNSETJUMP;
 }
@@ -304,7 +299,7 @@
 void Object::RemoveAttribute
 (
     const char* key
-) throw() {
+) {
     bu_attribute_value_set* avs = GetAvs(false);
 
     if (avs != 0)
@@ -312,7 +307,7 @@
 }
 
 
-void Object::ClearAttributes(void) throw() {
+void Object::ClearAttributes(void) {
     bu_attribute_value_set* avs = GetAvs(false);
 
     if (avs != 0)
@@ -320,15 +315,13 @@
 }
 
 
-Object::Object(void) throw(bad_alloc) : m_pDir(0), m_ip(0), m_dbip(0), m_name(0), m_avs(0) {
+Object::Object(void) : m_pDir(0), m_ip(0), m_dbip(0), m_name(0), m_avs(0) {
     if (!BU_SETJUMP) {
         m_resp = static_cast<resource*>(bu_calloc(1, sizeof(resource), "BRLCAD::Object::Object::m_resp"));
         rt_init_resource(m_resp, 0, NULL);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Object::Object");
-    }
 
     BU_UNSETJUMP;
 }
@@ -340,7 +333,7 @@
     directory*      pDir,
     rt_db_internal* ip,
     db_i*           dbip
-) throw() : m_resp(resp), m_pDir(pDir), m_ip(ip), m_dbip(dbip), m_name(0), m_avs(0) {
+) : m_resp(resp), m_pDir(pDir), m_ip(ip), m_dbip(dbip), m_name(0), m_avs(0) {
     assert(m_pDir != 0);
 }
 
@@ -348,7 +341,7 @@
 Object::Object
 (
     const Object& original
-) throw(bad_alloc) : m_resp(0), m_pDir(0), m_ip(0), m_dbip(0), m_name(0), m_avs(0) {
+) : m_resp(0), m_pDir(0), m_ip(0), m_dbip(0), m_name(0), m_avs(0) {
     if (!BU_SETJUMP) {
         m_resp = static_cast<resource*>(bu_calloc(1, sizeof(resource), "BRLCAD::Object::Object::m_resp"));
         rt_init_resource(m_resp, 0, NULL);
@@ -359,7 +352,6 @@
         if (m_resp != 0)
             bu_free(m_resp, "BRLCAD::Object::Object::m_resp");
 
-        throw bad_alloc("BRLCAD::Object::Object");
     }
 
     BU_UNSETJUMP;
@@ -371,7 +363,7 @@
 void Object::Copy
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     if (&original != this) {
         SetName(original.Name());
 
@@ -396,10 +388,8 @@
                     for (size_t i = 0; i < origAvs->count; ++i)
                         bu_avs_add_nonunique(avs, origAvs->avp->name, origAvs->avp->value);
                 }
-                else {
+                else
                     BU_UNSETJUMP;
-                    throw bad_alloc("BRLCAD::Object::Copy");
-                }
 
                 BU_UNSETJUMP;
             }
@@ -410,13 +400,13 @@
 }
 
 
-bool Object::Validate(void) const throw() {
+bool Object::Validate(void) const {
     const char* name = Name();
 
     return (name != 0) && (strlen(name) > 0);
 }
 
-const bu_attribute_value_set* Object::GetAvs(void) const throw() {
+const bu_attribute_value_set* Object::GetAvs(void) const {
     const bu_attribute_value_set* ret = 0;
 
     assert(!((m_pDir != RT_DIR_NULL) && (m_avs != 0)));
@@ -433,7 +423,7 @@
 bu_attribute_value_set* Object::GetAvs
 (
     bool create
-) throw() {
+) {
     bu_attribute_value_set* ret = 0;
 
     assert(!((m_pDir != RT_DIR_NULL) && (m_avs != 0)));
