class base { public: virtual ~base() throw (); virtual void f() const throw (int); virtual void g() const throw (int); }; class derived: public base { public: void f() const throw (int, double); void g() const; //Can throw any data type at all. };