Index: include/brlcad/ConstDatabase.h
===================================================================
--- include/brlcad/ConstDatabase.h	(revision 74463)
+++ 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 74463)
+++ 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/Halfspace.h
===================================================================
--- include/brlcad/Halfspace.h	(revision 74463)
+++ include/brlcad/Halfspace.h	(working copy)
@@ -39,29 +39,29 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Halfspace : public Object {
     public:
-        Halfspace(void) throw(bad_alloc);
-        Halfspace(const Halfspace& original) throw(bad_alloc);
-        virtual ~Halfspace(void) throw();
+        Halfspace(void);
+        Halfspace(const Halfspace& original);
+        virtual ~Halfspace(void);
 
-        const Halfspace&      operator=(const Halfspace& original) throw(bad_alloc);
+        const Halfspace&      operator=(const Halfspace& original);
 
-        Vector3D              Normal(void) const throw();
-        void                  SetNormal(const Vector3D& normal) throw();
-        double                DistanceFromOrigin(void) const throw();
-        void                  SetDistanceFromOrigin(double distance) throw();
+        Vector3D              Normal(void) const;
+        void                  SetNormal(const Vector3D& normal);
+        double                DistanceFromOrigin(void) const;
+        void                  SetDistanceFromOrigin(double distance);
 
         // 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:
         Halfspace(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_half_internal* m_internalp;
 
-        const rt_half_internal* Internal(void) const throw();
-        rt_half_internal*       Internal(void) throw();
+        const rt_half_internal* Internal(void) const;
+        rt_half_internal*       Internal(void);
 
         friend class Database;
     };
Index: include/brlcad/HyperbolicCylinder.h
===================================================================
--- include/brlcad/HyperbolicCylinder.h	(revision 74463)
+++ include/brlcad/HyperbolicCylinder.h	(working copy)
@@ -39,50 +39,50 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT HyperbolicCylinder : public Object {
     public:
-        HyperbolicCylinder(void) throw(bad_alloc); ///< constructs a hyperbolic cylinder at origin with unit height, unit depth in x direction, unit half width and apex to asymptotes distance of 1
+        HyperbolicCylinder(void);                                   ///< constructs a hyperbolic cylinder at origin with unit height, unit depth in x direction, unit half width and apex to asymptotes distance of 1
         HyperbolicCylinder(const Vector3D& basePoint,
                            const Vector3D& height,
                            const Vector3D& depth,
                            double          halfWidth,
-                           double          apexAsymptoteDistance) throw(bad_alloc);
-        HyperbolicCylinder(const HyperbolicCylinder& original) throw(bad_alloc);
-        virtual ~HyperbolicCylinder(void) throw();
+                           double          apexAsymptoteDistance);
+        HyperbolicCylinder(const HyperbolicCylinder& original);
+        virtual ~HyperbolicCylinder(void);
 
-        const HyperbolicCylinder& operator=(const HyperbolicCylinder& original) throw(bad_alloc);
+        const HyperbolicCylinder& operator=(const HyperbolicCylinder& original);
 
-        Vector3D                  BasePoint(void) const throw();
-        void                      SetBasePoint(const Vector3D& basePoint) throw();
+        Vector3D                  BasePoint(void) const;
+        void                      SetBasePoint(const Vector3D& basePoint);
 
-        Vector3D                  Height(void) const throw();
-        void                      SetHeight(const Vector3D& height) throw();
+        Vector3D                  Height(void) const;
+        void                      SetHeight(const Vector3D& height);
 
-        Vector3D                  Depth(void) const throw();
-        void                      SetDepth(const Vector3D& depth) throw();
+        Vector3D                  Depth(void) const;
+        void                      SetDepth(const Vector3D& depth);
 
-        double                    HalfWidth(void) const throw();
-        void                      SetHalfWidth(double length) throw();
+        double                    HalfWidth(void) const;
+        void                      SetHalfWidth(double length);
 
-        double                    ApexAsymptoteDistance(void) const throw();
-        void                      SetApexAsymptoteDistance(double distance) throw();
+        double                    ApexAsymptoteDistance(void) const;
+        void                      SetApexAsymptoteDistance(double distance);
 
         void                      Set(const Vector3D& basePoint,
                                       const Vector3D& height,
                                       const Vector3D& depth,
                                       double          halfWidth,
-                                      double          apexAsymptoteDistance) throw();
+                                      double          apexAsymptoteDistance);
 
         // inherited from BRLCAD::Object
-        virtual const Object&     operator=(const Object& original) throw(bad_alloc);
-        virtual Object*           Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*        ClassName(void) throw();
-        virtual const char*       Type(void) const throw();
-        virtual bool              IsValid(void) const throw(); ///< checks for positive length of height and depth, positive values of half width and apex to asymptotes distance and that height and depth are perpendicular
+        virtual const Object&     operator=(const Object& original);
+        virtual Object*           Clone(void) const;
+        static const char*        ClassName(void);
+        virtual const char*       Type(void) const;
+        virtual bool              IsValid(void) const;              ///< checks for positive length of height and depth, positive values of half width and apex to asymptotes distance and that height and depth are perpendicular
 
     protected:
         HyperbolicCylinder(resource*       resp,
                            directory*      pDir,
                            rt_db_internal* ip,
-                           db_i*           dbip) throw();
+                           db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -89,8 +89,8 @@
     private:
         rt_rhc_internal* m_internalp;
 
-        rt_rhc_internal*       Internal(void) throw();
-        const rt_rhc_internal* Internal(void) const throw();
+        rt_rhc_internal*       Internal(void);
+        const rt_rhc_internal* Internal(void) const;
 
         friend class Database;
     };
Index: include/brlcad/Hyperboloid.h
===================================================================
--- include/brlcad/Hyperboloid.h	(revision 74463)
+++ include/brlcad/Hyperboloid.h	(working copy)
@@ -39,70 +39,70 @@
 namespace BRLCAD {
     class BRLCAD_COREINTERFACE_EXPORT Hyperboloid : public Object {
     public:
-        Hyperboloid(void) throw(bad_alloc);                                  ///< constructs a hyperboloid with height 1 at origin with a circular base and unit distance from apex to asymptote
+        Hyperboloid(void);                                            ///< constructs a hyperboloid with height 1 at origin with a circular base and unit distance from apex to asymptote
         Hyperboloid(const Vector3D& basePoint,
                     const Vector3D& height,
                     const Vector3D& semiMajorAxis,
                     double          semiMinorAxisLength,
-                    double          apexAsymptoteDistance) throw(bad_alloc); ///< length an direction of vector semi major axis used
+                    double          apexAsymptoteDistance);           ///< length an direction of vector semi major axis used
         Hyperboloid(const Vector3D& basePoint,
                     const Vector3D& height,
                     const Vector3D& semiMajorAxisDirection,
                     double          semiMajorAxisLength,
                     double          semiMinorAxisLength,
-                    double          apexAsymptoteDistance) throw(bad_alloc); ///< semi major axis will be unitized and length of semi major axis is given by semiMajorAxisLength
-        Hyperboloid(const Hyperboloid& original) throw(bad_alloc);
-        virtual ~Hyperboloid(void) throw();
+                    double          apexAsymptoteDistance);           ///< semi major axis will be unitized and length of semi major axis is given by semiMajorAxisLength
+        Hyperboloid(const Hyperboloid& original);
+        virtual ~Hyperboloid(void);
 
-        const Hyperboloid&    operator=(const Hyperboloid& original) throw(bad_alloc);
+        const Hyperboloid&    operator=(const Hyperboloid& original);
 
-        Vector3D              BasePoint(void) const throw();
-        void                  SetBasePoint(const Vector3D& point) throw();
+        Vector3D              BasePoint(void) const;
+        void                  SetBasePoint(const Vector3D& point);
 
-        Vector3D              Height(void) const throw();
-        void                  SetHeight(const Vector3D& height) throw();
+        Vector3D              Height(void) const;
+        void                  SetHeight(const Vector3D& height);
 
-        Vector3D              SemiMajorAxis(void) const throw();
-        void                  SetSemiMajorAxis(const Vector3D& axis) throw();
+        Vector3D              SemiMajorAxis(void) const;
+        void                  SetSemiMajorAxis(const Vector3D& axis);
         void                  SetSemiMajorAxis(const Vector3D& direction,
-                                               double          length) throw();
+                                               double          length);
 
-        Vector3D              SemiMajorAxisDirection(void) const throw();
-        void                  SetSemiMajorAxisDirection(const Vector3D& direction) throw();
+        Vector3D              SemiMajorAxisDirection(void) const;
+        void                  SetSemiMajorAxisDirection(const Vector3D& direction);
 
-        double                SemiMajorAxisLength(void) const throw();
-        void                  SetSemiMajorAxisLength(double length) throw();
+        double                SemiMajorAxisLength(void) const;
+        void                  SetSemiMajorAxisLength(double length);
 
-        double                SemiMinorAxisLength(void) const throw();
-        void                  SetSemiMinorAxisLength(double length) throw();
+        double                SemiMinorAxisLength(void) const;
+        void                  SetSemiMinorAxisLength(double length);
 
-        double                ApexAsymptoteDistance(void) const throw();
-        void                  SetApexAsymptoteDistance(double distance) throw();
+        double                ApexAsymptoteDistance(void) const;
+        void                  SetApexAsymptoteDistance(double distance);
 
         void                  Set(const Vector3D& basePoint,
                                   const Vector3D& height,
                                   const Vector3D& semiMajorAxis,
                                   double          semiMinorAxisLength,
-                                  double          apexAsymptoteDistance) throw();
+                                  double          apexAsymptoteDistance);
         void                  Set(const Vector3D& basePoint,
                                   const Vector3D& height,
                                   const Vector3D& semiMajorAxisDirection,
                                   double          semiMajorAxisLength,
                                   double          semiMinorAxisLength,
-                                  double          apexAsymptoteDistance) throw();
+                                  double          apexAsymptoteDistance);
 
         // inherited from BRLCAD::Object
-        virtual const Object& operator=(const Object& original) throw(bad_alloc);
-        virtual Object*       Clone(void) const throw(bad_alloc, std::bad_alloc);
-        static const char*    ClassName(void) throw();
-        virtual const char*   Type(void) const throw();
-        virtual bool          IsValid(void) const throw(); ///< checks for positive height, unit length of internal semi major axis vector, semi minor axis is not longer than semi major axis, both are nonzero, nonzero apex distance, and height and semi major axis are perpendicular
+        virtual const Object& operator=(const Object& original);
+        virtual Object*       Clone(void) const;
+        static const char*    ClassName(void);
+        virtual const char*   Type(void) const;
+        virtual bool          IsValid(void) const;                    ///< checks for positive height, unit length of internal semi major axis vector, semi minor axis is not longer than semi major axis, both are nonzero, nonzero apex distance, and height and semi major axis are perpendicular
 
     protected:
         Hyperboloid(resource*       resp,
                     directory*      pDir,
                     rt_db_internal* ip,
-                    db_i*           dbip) throw();
+                    db_i*           dbip);
 
         friend class ConstDatabase;
 
@@ -109,8 +109,8 @@
     private:
         rt_ehy_internal* m_internalp;
 
-        rt_ehy_internal*       Internal(void) throw();
-        const rt_ehy_internal* Internal(void) const throw();
+        rt_ehy_internal*       Internal(void);
+        const rt_ehy_internal* Internal(void) const;
 
         friend class Database;
     };
Index: include/brlcad/MemoryDatabase.h
===================================================================
--- include/brlcad/MemoryDatabase.h	(revision 74463)
+++ include/brlcad/MemoryDatabase.h	(working copy)
@@ -37,14 +37,14 @@
     class BRLCAD_COREINTERFACE_EXPORT MemoryDatabase : public Database {
     public:
         /// creates a new in-memory database with default _GLOBAL object
-        MemoryDatabase(void) throw(bad_alloc);
-        virtual ~MemoryDatabase(void) throw();
+        MemoryDatabase(void);
+        virtual ~MemoryDatabase(void);
 
         /// loads a BRL-CAD database file (*.g) into the memory
         /** The old content of the in-memory database will be discarded.
             The file will be opened for reading only and closed after finishing the operation. */
-        virtual bool Load(const char* fileName) throw();
-        bool         Save(const char* fileName) throw();
+        virtual bool Load(const char* fileName);
+        bool         Save(const char* fileName);
 
     private:
         MemoryDatabase(const MemoryDatabase&);                  // not implemented
Index: include/brlcad/Object.h
===================================================================
--- include/brlcad/Object.h	(revision 74463)
+++ 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),
-                                                                           m_searchKey(original.m_searchKey),
-                                                                           m_index(original.m_index) {}
-            ~AttributeIterator(void) throw() {}
+            AttributeIterator(const AttributeIterator& original): m_avs(original.m_avs),
+                                                                  m_searchKey(original.m_searchKey),
+                                                                  m_index(original.m_index) {}
+            ~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: include/brlcad/cicommon.h
===================================================================
--- include/brlcad/cicommon.h	(revision 74463)
+++ include/brlcad/cicommon.h	(working copy)
@@ -49,18 +49,18 @@
     struct Vector2D {
         double coordinates[2];
 
-        Vector2D(void) throw() {
+        Vector2D(void){
             coordinates[0] = 0.;
             coordinates[1] = 0.;
         }
 
-        Vector2D(const double vector[2]) throw() {
+        Vector2D(const double vector[2]){
             coordinates[0] = vector[0];
             coordinates[1] = vector[1];
         }
 
         Vector2D(double x,
-                 double y) throw() {
+                 double y){
             coordinates[0] = x;
             coordinates[1] = y;
         }
@@ -72,7 +72,7 @@
         Vector2D delta;
 
         Mapping2D(const Vector2D& pt,
-                  const Vector2D& dl) throw() : point(pt), delta(dl) {}
+                  const Vector2D& dl): point(pt), delta(dl) {}
     };
 
 
@@ -79,13 +79,13 @@
     struct Vector3D {
         double coordinates[3];
 
-        Vector3D(void) throw() {
+        Vector3D(void){
             coordinates[0] = 0.;
             coordinates[1] = 0.;
             coordinates[2] = 0.;
         }
 
-        Vector3D(const double vector[3]) throw() {
+        Vector3D(const double vector[3]){
             coordinates[0] = vector[0];
             coordinates[1] = vector[1];
             coordinates[2] = vector[2];
@@ -93,7 +93,7 @@
 
         Vector3D(double x,
                  double y,
-                 double z) throw() {
+                 double z){
             coordinates[0] = x;
             coordinates[1] = y;
             coordinates[2] = z;
@@ -114,13 +114,13 @@
 
         Curvature3D(const Vector3D& minDirection,
                     double          minCurvature,
-                    double          maxCurvature) throw() {
+                    double          maxCurvature){
             minPrincipalDirection = minDirection;
             minPrincipalCurvature = minCurvature;
             maxPrincipalCurvature = maxCurvature;
         }
 
-        Curvature3D(void) throw() : minPrincipalDirection(),
+        Curvature3D(void): minPrincipalDirection(),
                                     minPrincipalCurvature(0.),
                                     maxPrincipalCurvature(0.) {}
     };
@@ -128,11 +128,11 @@
 
     class bad_alloc : public std::bad_alloc {
     public:
-        bad_alloc(const char* hint) throw() : std::bad_alloc(), m_hint(hint) {}
+        bad_alloc(const char* hint): std::bad_alloc(), m_hint(hint) {}
 
-        bad_alloc(const bad_alloc& original) throw() : std::bad_alloc(original), m_hint(original.m_hint) {}
+        bad_alloc(const bad_alloc& original): std::bad_alloc(original), m_hint(original.m_hint) {}
 
-        virtual const bad_alloc& operator=(const bad_alloc& original) throw() {
+        virtual const bad_alloc& operator=(const bad_alloc& original){
             std::bad_alloc::operator=(original);
             m_hint = original.m_hint;
 
@@ -139,7 +139,7 @@
             return *this;
         }
 
-        virtual const char* what(void) const throw() {
+        virtual const char* what(void) const throw(){
             return m_hint;
         }
 
Index: include/brlcad/globals.h
===================================================================
--- include/brlcad/globals.h	(revision 74463)
+++ include/brlcad/globals.h	(working copy)
@@ -37,9 +37,9 @@
 namespace BRLCAD {
     /// @name get BRL-CAD version information
     //@{
-    int BRLCAD_COREINTERFACE_EXPORT  MajorVersion(void) throw();
-    int BRLCAD_COREINTERFACE_EXPORT  MinorVersion(void) throw();
-    int BRLCAD_COREINTERFACE_EXPORT  PatchVersion(void) throw();
+    int BRLCAD_COREINTERFACE_EXPORT  MajorVersion(void);
+    int BRLCAD_COREINTERFACE_EXPORT  MinorVersion(void);
+    int BRLCAD_COREINTERFACE_EXPORT  PatchVersion(void);
     //@}
 
 
@@ -48,18 +48,18 @@
     /// log handler (to be implemented by the caller)
     class LogHandler {
     public:
-        virtual ~LogHandler(void) throw() {}
+        virtual ~LogHandler(void) {}
 
-        virtual void operator()(const char* logString) throw() = 0;
+        virtual void operator()(const char* logString) = 0;
 
     protected:
-        LogHandler(void) throw() {}
-        LogHandler(const LogHandler&) throw() {}
-        const LogHandler& operator=(const LogHandler&) throw() {return *this;}
+        LogHandler(void) {}
+        LogHandler(const LogHandler&) {}
+        const LogHandler& operator=(const LogHandler&) {return *this;}
     };
 
-    void BRLCAD_COREINTERFACE_EXPORT RegisterLogHandler(LogHandler& logHandler) throw(bad_alloc);
-    void BRLCAD_COREINTERFACE_EXPORT DeRegisterLogHandler(LogHandler& logHandler) throw();
+    void BRLCAD_COREINTERFACE_EXPORT RegisterLogHandler(LogHandler& logHandler);
+    void BRLCAD_COREINTERFACE_EXPORT DeRegisterLogHandler(LogHandler& logHandler);
     //@}
 }
 
Index: src/coreInterface/ConstDatabase.cpp
===================================================================
--- src/coreInterface/ConstDatabase.cpp	(revision 74463)
+++ 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 74463)
+++ 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/Halfspace.cpp
===================================================================
--- src/coreInterface/Halfspace.cpp	(revision 74463)
+++ src/coreInterface/Halfspace.cpp	(working copy)
@@ -39,13 +39,11 @@
 using namespace BRLCAD;
 
 
-Halfspace::Halfspace(void) throw(bad_alloc) : Object() {
+Halfspace::Halfspace(void) : Object() {
     if (!BU_SETJUMP)
         m_internalp = static_cast<rt_half_internal*>(bu_calloc(1, sizeof(rt_half_internal), "BRLCAD::Halfspace::Halfspace::m_internalp"));
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Halfspace::Halfspace");
-    }
 
     BU_UNSETJUMP;
 
@@ -60,13 +58,11 @@
 Halfspace::Halfspace
 (
     const Halfspace& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP)
         m_internalp = static_cast<rt_half_internal*>(bu_calloc(1, sizeof(rt_half_internal), "BRLCAD::Halfspace::Halfspace::m_internalp"));
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Halfspace::Halfspace");
-    }
 
     BU_UNSETJUMP;
 
@@ -74,13 +70,13 @@
 }
 
 
-Halfspace::~Halfspace(void) throw() {
+Halfspace::~Halfspace(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Halfspace::~Halfspace::m_internalp");
 }
 
 
-const Halfspace& Halfspace::operator=(const Halfspace& original) throw(bad_alloc) {
+const Halfspace& Halfspace::operator=(const Halfspace& original) {
     if (&original != this) {
         Copy(original);
         memcpy(Internal()->eqn, original.Internal()->eqn, sizeof(plane_t));
@@ -90,12 +86,12 @@
 }
 
 
-Vector3D Halfspace::Normal(void) const throw() {
+Vector3D Halfspace::Normal(void) const {
     return Vector3D(Internal()->eqn);
 }
 
 
-void Halfspace::SetNormal(const Vector3D& normal) throw() {
+void Halfspace::SetNormal(const Vector3D& normal) {
     double length = MAGNITUDE(normal.coordinates);
 
     if (length >= VDIVIDE_TOL) {
@@ -107,12 +103,12 @@
 }
 
 
-double Halfspace::DistanceFromOrigin(void) const throw() {
+double Halfspace::DistanceFromOrigin(void) const {
     return Internal()->eqn[3];
 }
 
 
-void Halfspace::SetDistanceFromOrigin(double distance) throw() {
+void Halfspace::SetDistanceFromOrigin(double distance) {
     Internal()->eqn[3] = distance;
 }
 
@@ -120,7 +116,7 @@
 const Object& Halfspace::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Halfspace* half = dynamic_cast<const Halfspace*>(&original);
     assert(half != 0);
 
@@ -131,22 +127,22 @@
 }
 
 
-Object* Halfspace::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Halfspace::Clone(void) const {
     return new Halfspace(*this);
 }
 
 
-const char* Halfspace::ClassName(void) throw() {
+const char* Halfspace::ClassName(void) {
     return "Halfspace";
 }
 
 
-const char* Halfspace::Type(void) const throw() {
+const char* Halfspace::Type(void) const {
     return ClassName();
 }
 
 
-bool Halfspace::IsValid(void) const throw() {
+bool Halfspace::IsValid(void) const {
     bool ret = Validate();
 
     if (ret) {
@@ -166,10 +162,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_half_internal* Halfspace::Internal(void) const throw() {
+const rt_half_internal* Halfspace::Internal(void) const {
     const rt_half_internal* ret;
 
     if (m_ip != 0)
@@ -183,7 +179,7 @@
 }
 
 
-rt_half_internal* Halfspace::Internal(void) throw() {
+rt_half_internal* Halfspace::Internal(void) {
     rt_half_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/HyperbolicCylinder.cpp
===================================================================
--- src/coreInterface/HyperbolicCylinder.cpp	(revision 74463)
+++ src/coreInterface/HyperbolicCylinder.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-HyperbolicCylinder::HyperbolicCylinder(void) throw(bad_alloc) : Object() {
+HyperbolicCylinder::HyperbolicCylinder(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rhc_internal);
         m_internalp->rhc_magic = RT_RHC_INTERNAL_MAGIC;
@@ -46,10 +46,8 @@
 
         Set(Vector3D(),Vector3D(0., 0., 1.),Vector3D(1., 0., 0.), 1., 1.);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::HyperbolicCylinder::HyperbolicCylinder");
-    }
 
     BU_UNSETJUMP;
 }
@@ -62,7 +60,7 @@
     const Vector3D& depth,
     double          halfWidth,
     double          apexAsymptoteDistance
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rhc_internal);
         m_internalp->rhc_magic = RT_RHC_INTERNAL_MAGIC;
@@ -69,10 +67,8 @@
 
         Set(basePoint, height, depth, halfWidth, apexAsymptoteDistance);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::HyperbolicCylinder::HyperbolicCylinder");
-    }
 
     BU_UNSETJUMP;
 }
@@ -81,21 +77,19 @@
 HyperbolicCylinder::HyperbolicCylinder
 (
     const HyperbolicCylinder& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_rhc_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_rhc_internal));
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::HyperbolicCylinder::HyperbolicCylinder");
-    }
 
     BU_UNSETJUMP;
 }
 
 
-HyperbolicCylinder::~HyperbolicCylinder(void) throw() {
+HyperbolicCylinder::~HyperbolicCylinder(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::HyperbolicCylinder::~HyperbolicCylinder::m_internalp");
 }
@@ -104,7 +98,7 @@
 const HyperbolicCylinder& HyperbolicCylinder::operator =
 (
     const HyperbolicCylinder& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_rhc_internal));
@@ -114,7 +108,7 @@
 }
 
 
-Vector3D HyperbolicCylinder::BasePoint(void) const throw() {
+Vector3D HyperbolicCylinder::BasePoint(void) const {
     return Vector3D(Internal()->rhc_V);
 }
 
@@ -122,12 +116,12 @@
 void HyperbolicCylinder::SetBasePoint
 (
     const Vector3D& basePoint
-) throw() {
+) {
     VMOVE(Internal()->rhc_V, basePoint.coordinates);
 }
 
 
-Vector3D HyperbolicCylinder::Height(void) const throw() {
+Vector3D HyperbolicCylinder::Height(void) const {
     return Vector3D(Internal()->rhc_H);
 }
 
@@ -135,12 +129,12 @@
 void HyperbolicCylinder::SetHeight
 (
     const Vector3D& height
-) throw() {
+) {
     VMOVE(Internal()->rhc_H, height.coordinates);
 }
 
 
-Vector3D HyperbolicCylinder::Depth(void) const throw() {
+Vector3D HyperbolicCylinder::Depth(void) const {
     return Vector3D(Internal()->rhc_B);
 }
 
@@ -148,12 +142,12 @@
 void HyperbolicCylinder::SetDepth
 (
     const Vector3D& depth
-) throw() {
+) {
     VMOVE(Internal()->rhc_B, depth.coordinates);
 }
 
 
-double HyperbolicCylinder::HalfWidth(void) const throw() {
+double HyperbolicCylinder::HalfWidth(void) const {
     return Internal()->rhc_r;
 }
 
@@ -161,12 +155,12 @@
 void HyperbolicCylinder::SetHalfWidth
 (
     double length
-) throw() {
+) {
     Internal()->rhc_r = length;
 }
 
 
-double HyperbolicCylinder::ApexAsymptoteDistance(void) const throw() {
+double HyperbolicCylinder::ApexAsymptoteDistance(void) const {
     return Internal()->rhc_c;
 }
 
@@ -174,7 +168,7 @@
 void HyperbolicCylinder::SetApexAsymptoteDistance
 (
     double distance
-) throw() {
+) {
     Internal()->rhc_c = distance;
 }
 
@@ -186,7 +180,7 @@
     const Vector3D& depth,
     double          halfWidth,
     double          apexAsymptoteDistance
-) throw() {
+) {
     rt_rhc_internal* internalp = Internal();
 
     VMOVE(internalp->rhc_V, basePoint.coordinates);
@@ -200,7 +194,7 @@
 const Object& HyperbolicCylinder::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const HyperbolicCylinder* rhc = dynamic_cast<const HyperbolicCylinder*>(&original);
     assert(rhc != 0);
 
@@ -211,22 +205,22 @@
 }
 
 
-Object* HyperbolicCylinder::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* HyperbolicCylinder::Clone(void) const {
     return new HyperbolicCylinder(*this);
 }
 
 
-const char* HyperbolicCylinder::ClassName(void) throw() {
+const char* HyperbolicCylinder::ClassName(void) {
     return "HyperbolicCylinder";
 }
 
 
-const char* HyperbolicCylinder::Type(void) const throw() {
+const char* HyperbolicCylinder::Type(void) const {
     return ClassName();
 }
 
 
-bool HyperbolicCylinder::IsValid(void) const throw(){
+bool HyperbolicCylinder::IsValid(void) const {
     bool                   ret       = false;
     const rt_rhc_internal* internalp = Internal();
 
@@ -247,10 +241,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_rhc_internal* HyperbolicCylinder::Internal(void) throw() {
+rt_rhc_internal* HyperbolicCylinder::Internal(void) {
     rt_rhc_internal* ret;
 
     if(m_ip != 0)
@@ -264,7 +258,7 @@
 }
 
 
-const rt_rhc_internal* HyperbolicCylinder::Internal(void) const throw() {
+const rt_rhc_internal* HyperbolicCylinder::Internal(void) const {
     const rt_rhc_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/Hyperboloid.cpp
===================================================================
--- src/coreInterface/Hyperboloid.cpp	(revision 74463)
+++ src/coreInterface/Hyperboloid.cpp	(working copy)
@@ -39,7 +39,7 @@
 using namespace BRLCAD;
 
 
-Hyperboloid::Hyperboloid(void) throw(bad_alloc) : Object() {
+Hyperboloid::Hyperboloid(void) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ehy_internal);
         m_internalp->ehy_magic = RT_EHY_INTERNAL_MAGIC;
@@ -46,10 +46,8 @@
 
         Set(Vector3D(), Vector3D(0, 0, 1), Vector3D(0, 1, 0), 1, 1);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Hyperboloid::Hyperboloid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -62,7 +60,7 @@
     const Vector3D& semiMajorAxis,
     double          semiMinorAxisLength,
     double          apexAsymptoteDistance
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ehy_internal);
         m_internalp->ehy_magic = RT_EHY_INTERNAL_MAGIC;
@@ -69,10 +67,8 @@
 
         Set(basePoint, height, semiMajorAxis, semiMinorAxisLength, apexAsymptoteDistance);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Hyperboloid::Hyperboloid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -86,7 +82,7 @@
     double          semiMajorAxisLength,
     double          semiMinorAxisLength,
     double          apexAsymptoteDistance
-) throw(bad_alloc) : Object() {
+) : Object() {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ehy_internal);
         m_internalp->ehy_magic = RT_EHY_INTERNAL_MAGIC;
@@ -93,10 +89,8 @@
 
         Set(basePoint, height, semiMajorAxisDirection, semiMajorAxisLength, semiMinorAxisLength, apexAsymptoteDistance);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Hyperboloid::Hyperboloid");
-    }
 
     BU_UNSETJUMP;
 }
@@ -105,21 +99,19 @@
 Hyperboloid::Hyperboloid
 (
     const Hyperboloid& original
-) throw(bad_alloc) : Object(original) {
+) : Object(original) {
     if (!BU_SETJUMP) {
         BU_GET(m_internalp, rt_ehy_internal);
         memcpy(m_internalp, original.Internal(), sizeof(rt_ehy_internal));
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::Hyperboloid::Hyperboloid");
-    }
 
     BU_UNSETJUMP;
 }
 
 
-Hyperboloid::~Hyperboloid(void) throw() {
+Hyperboloid::~Hyperboloid(void) {
     if (m_internalp != 0)
         bu_free(m_internalp, "BRLCAD::Hyperboloid::~Hyperboloid::m_internalp");
 }
@@ -128,7 +120,7 @@
 const Hyperboloid& Hyperboloid::operator=
 (
     const Hyperboloid& original
-) throw(bad_alloc) {
+) {
     if(&original != this) {
         Copy(original);
         memcpy(Internal(), original.Internal(), sizeof(rt_ehy_internal));
@@ -138,7 +130,7 @@
 }
 
 
-Vector3D Hyperboloid::BasePoint(void) const throw() {
+Vector3D Hyperboloid::BasePoint(void) const {
     return Vector3D(Internal()->ehy_V);
 }
 
@@ -146,12 +138,12 @@
 void Hyperboloid::SetBasePoint
 (
     const Vector3D& point
-) throw(){
+) {
     VMOVE(Internal()->ehy_V, point.coordinates);
 }
 
 
-Vector3D Hyperboloid::Height(void) const throw() {
+Vector3D Hyperboloid::Height(void) const {
     return Vector3D(Internal()->ehy_H);
 }
 
@@ -159,12 +151,12 @@
 void Hyperboloid::SetHeight
 (
     const Vector3D& height
-) throw(){
+) {
     VMOVE(Internal()->ehy_H, height.coordinates);
 }
 
 
-Vector3D Hyperboloid::SemiMajorAxis(void) const throw() {
+Vector3D Hyperboloid::SemiMajorAxis(void) const {
     Vector3D               ret;
     const rt_ehy_internal* internalp = Internal();
 
@@ -177,7 +169,7 @@
 void Hyperboloid::SetSemiMajorAxis
 (
     const Vector3D& axis
-) throw(){
+) {
     rt_ehy_internal* internalp = Internal();
 
     VMOVE(internalp->ehy_Au, axis.coordinates);
@@ -190,7 +182,7 @@
 (
     const Vector3D& direction,
     double          length
-) throw(){
+) {
     rt_ehy_internal* internalp = Internal();
 
     VMOVE(internalp->ehy_Au, direction.coordinates);
@@ -199,7 +191,7 @@
 }
 
 
-Vector3D Hyperboloid::SemiMajorAxisDirection(void) const throw() {
+Vector3D Hyperboloid::SemiMajorAxisDirection(void) const {
     return Vector3D(Internal()->ehy_Au);
 }
 
@@ -207,7 +199,7 @@
 void Hyperboloid::SetSemiMajorAxisDirection
 (
     const Vector3D& direction
-) throw(){
+) {
     rt_ehy_internal* internalp = Internal();
 
     VMOVE(internalp->ehy_Au, direction.coordinates);
@@ -215,7 +207,7 @@
 }
 
 
-double Hyperboloid::SemiMajorAxisLength(void) const throw(){
+double Hyperboloid::SemiMajorAxisLength(void) const {
     return Internal()->ehy_r1;
 }
 
@@ -223,12 +215,12 @@
 void Hyperboloid::SetSemiMajorAxisLength
 (
     double length
-) throw(){
+) {
     Internal()->ehy_r1 = length;
 }
 
 
-double Hyperboloid::SemiMinorAxisLength(void) const throw(){
+double Hyperboloid::SemiMinorAxisLength(void) const {
     return Internal()->ehy_r2;
 }
 
@@ -236,12 +228,12 @@
 void Hyperboloid::SetSemiMinorAxisLength
 (
     double length
-) throw(){
+) {
     Internal()->ehy_r2 = length;
 }
 
 
-double Hyperboloid::ApexAsymptoteDistance(void) const throw(){
+double Hyperboloid::ApexAsymptoteDistance(void) const {
     return Internal()->ehy_c;
 }
 
@@ -249,7 +241,7 @@
 void Hyperboloid::SetApexAsymptoteDistance
 (
     double distance
-) throw(){
+) {
     Internal()->ehy_c = distance;
 }
 
@@ -261,7 +253,7 @@
     const Vector3D& semiMajorAxis,
     double          semiMinorAxisLength,
     double          apexAsymptoteDistance
-) throw(){
+) {
     rt_ehy_internal* internalp = Internal();
 
     VMOVE(internalp->ehy_V, basePoint.coordinates);
@@ -282,7 +274,7 @@
     double          semiMajorAxisLength,
     double          semiMinorAxisLength,
     double          apexAsymptoteDistance
-) throw(){
+) {
     rt_ehy_internal* internalp = Internal();
 
     VMOVE(internalp->ehy_V, basePoint.coordinates);
@@ -298,7 +290,7 @@
 const Object& Hyperboloid::operator=
 (
     const Object& original
-) throw(bad_alloc) {
+) {
     const Hyperboloid* ehy = dynamic_cast<const Hyperboloid*>(&original);
     assert(ehy != 0);
 
@@ -309,22 +301,22 @@
 }
 
 
-Object* Hyperboloid::Clone(void) const throw(bad_alloc, std::bad_alloc) {
+Object* Hyperboloid::Clone(void) const {
     return new Hyperboloid(*this);
 }
 
 
-const char* Hyperboloid::ClassName(void) throw() {
+const char* Hyperboloid::ClassName(void) {
     return "Hyperboloid";
 }
 
 
-const char* Hyperboloid::Type(void) const throw() {
+const char* Hyperboloid::Type(void) const {
     return ClassName();
 }
 
 
-bool Hyperboloid::IsValid(void) const throw() {
+bool Hyperboloid::IsValid(void) const {
     bool                   ret       = false;
     const rt_ehy_internal* internalp = Internal();
 
@@ -346,10 +338,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_ehy_internal* Hyperboloid::Internal(void) throw() {
+rt_ehy_internal* Hyperboloid::Internal(void) {
     rt_ehy_internal* ret;
 
     if(m_ip != 0)
@@ -363,7 +355,7 @@
 }
 
 
-const rt_ehy_internal* Hyperboloid::Internal(void) const throw() {
+const rt_ehy_internal* Hyperboloid::Internal(void) const {
     const rt_ehy_internal* ret;
 
     if (m_ip != 0)
Index: src/coreInterface/MemoryDatabase.cpp
===================================================================
--- src/coreInterface/MemoryDatabase.cpp	(revision 74463)
+++ src/coreInterface/MemoryDatabase.cpp	(working copy)
@@ -38,7 +38,7 @@
 using namespace BRLCAD;
 
 
-MemoryDatabase::MemoryDatabase(void) throw(bad_alloc) : Database() {
+MemoryDatabase::MemoryDatabase(void) : Database() {
     db_i* dbip = 0;
 
     if (!BU_SETJUMP) {
@@ -45,10 +45,8 @@
         dbip = db_create_inmem();
         RT_CK_DBI(dbip);
     }
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::MemoryDatabase::MemoryDatabase");
-    }
 
     BU_UNSETJUMP;
 
@@ -60,7 +58,6 @@
         BU_UNSETJUMP;
         db_close(dbip);
         m_rtip = 0;
-        throw bad_alloc("BRLCAD::MemoryDatabase::MemoryDatabase");
     }
 
     BU_UNSETJUMP;
@@ -69,13 +66,13 @@
 }
 
 
-MemoryDatabase::~MemoryDatabase(void) throw() {}
+MemoryDatabase::~MemoryDatabase(void) {}
 
 
 bool MemoryDatabase::Load
 (
     const char* fileName
-) throw() {
+) {
     bool ret = false;
 
     if (!BU_SETJUMP) {
@@ -100,7 +97,7 @@
 bool MemoryDatabase::Save
 (
     const char* fileName
-) throw() {
+) {
     bool ret = false;
 
     if (!BU_SETJUMP) {
Index: src/coreInterface/Object.cpp
===================================================================
--- src/coreInterface/Object.cpp	(revision 74463)
+++ 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)));
Index: src/coreInterface/globals.cpp
===================================================================
--- src/coreInterface/globals.cpp	(revision 74463)
+++ src/coreInterface/globals.cpp	(working copy)
@@ -38,17 +38,17 @@
 using namespace BRLCAD;
 
 
-int BRLCAD_COREINTERFACE_EXPORT BRLCAD::MajorVersion(void) throw() {
+int BRLCAD_COREINTERFACE_EXPORT BRLCAD::MajorVersion(void) {
     return BRLCAD_LIB_MAJOR;
 }
 
 
-int BRLCAD_COREINTERFACE_EXPORT BRLCAD::MinorVersion(void) throw() {
+int BRLCAD_COREINTERFACE_EXPORT BRLCAD::MinorVersion(void) {
     return BRLCAD_LIB_MINOR;
 }
 
 
-int BRLCAD_COREINTERFACE_EXPORT BRLCAD::PatchVersion(void) throw() {
+int BRLCAD_COREINTERFACE_EXPORT BRLCAD::PatchVersion(void) {
     return BRLCAD_LIB_PATCH;
 }
 
@@ -72,13 +72,11 @@
 void BRLCAD_COREINTERFACE_EXPORT BRLCAD::RegisterLogHandler
 (
     LogHandler& logHandler
-) throw(bad_alloc) {
+) {
     if (!BU_SETJUMP)
         bu_log_add_hook(Logger, &logHandler);
-    else {
+    else
         BU_UNSETJUMP;
-        throw bad_alloc("BRLCAD::RegisterLogHandler");
-    }
 
     BU_UNSETJUMP;
 }
@@ -87,7 +85,7 @@
 void BRLCAD_COREINTERFACE_EXPORT BRLCAD::DeRegisterLogHandler
 (
     LogHandler& logHandler
-) throw() {
+) {
     if (!BU_SETJUMP)
         bu_log_delete_hook(Logger, &logHandler);
 
